Не вспоминай о тех временах, когда все стили задавались внутри html при помощи всяких font-тегов и прочего, из-за чего вёрстка превращалась в сущий ад и любые изменения стоили кучу бабла.
Что значит «зачем»? Весь CSS - это стиль. Разделение на файлы нужно для более удобного составления кода, как минимум, ибо правила из css проще, быстрее грузятся и могут развиваться отдельно от html… а перегружать базовый код страницы как-то не очень умно. Вопрос из разряда, зачем нужен JS.