JavaScript нужен для:
1. Создания анимаций, которые сложно сделать на CSS
2. Для хранения данных cookie (записи и чтения)
3. Для обработки нажатий кнопок, движения мышки и всего такого
Его преимущество в том, что он очень шустрый.
А недостаток заключается в том, что код js видно из браузера пользователя и он может его редактировать (у себя, не на сервере).