CSS - язык описания внешнего вида веб-документов (в отличии от HTML, описывающего логическую структуру). С его помощью задаются цвета, шрифты, расположение блоков с информацией на странице и многое другое. С HTML, но без CSS эта страница будет выглядеть так.
Зачем отделять внешний вид от структуры? Во-первых, чтобы иметь возможность применять одинаковые свойства к нескольким элементам, не переписывая код для каждого из них. Во-вторых, чтобы применять один и тот же стиль из одного файла для разных страниц.