Antes, a gigantesca maioria das páginas eram estáticas, com textos e poucas fotos (e essas poucas, de baixíssima qualidade).
Hoje em dia, as páginas estão com música, vídeos, animações, interagem com o usuário, oferecem serviços onlines (bancos, compras online etc), e até mesmo jogos. Isso foi evoluindo graças, principalmente, a grandes linguagens de programação, como JavaScript, PHP e Java.
Como HTML continua a ser a base da exibição de páginas de Internet, o HTML precisou evoluir também. E é aí que vem o CSS.
Podemos ver o CSS como um arquivo externo, onde as páginas de HTML consultam esses arquivos para saber qual o estilo e formato a página deve ser exibida.