JavaScript обеспечивает обработку действий пользователя на стороне браузера. В своей работе я в основном использую достаточно известный фреймворк jQuery и плагины к нему. Однако, в случае высокой нагруженности интерфейса Javascript-функциями часто возникает ситуация конфликта между ними в некоторых браузерах (спасибо в основном надо сказать дядюшке Биллу, но и в других браузерах можно наткнуться на неожиданное развитие событий) - в этом случае часто бывает быстрее и проще написать свой собственный функционал, нежели отладить фреймворк.
Лайтбоксы применяются для показа фотографий. Фотография раскрывается перед страницей, а сама страница затемняется.
Ленты и слайдеры используются для показа контента (например, списка фотографий), ширина которого превышает ширину экрана браузера посетителя сайта.
Функциональные элементы на JavaScript позволяют упростить для посетителя навигацию по сайту, а так же сократить количество промежуточных страниц и загрузок.
Калькуляторы и конфигураторы, реализованные на JavaScript, имеют важное преимущество перед аналогичными сервисами, обработка информации в которых производится непосредственно на сайте.