O que é CSS?
Há certas pessoas que ouvem falar de CSS, mas muitas pessoas não devem saber o que é isso. Muitas vezes pensam que é algo complicado, mas na verdade, é bem simples a sua explicação, para quem consegue entendê-la. O CSS ajuda muito na criação de páginas, pois define a estética de um site.
CSS é uma sigla para Cascading Style Sheets e serve para dar estética a um site.
Vou tentar explicar de uma maneira mais simples: João está querendo montar seu blog. Para isso, além de fazer o site ter forma, o blog precisa ter estética. Só que ele resolve mudar constantemente o site e pensa em criar uma página apenas para estética. Essa página seria o style.css (ou outro nome, mas geralmente é esse o nome) e definiria o estilo de escrita, fundo, cor e tamanho da letra, além de outros fatores.
Qualquer alteração nessa página afetará todas as outras páginas de seu blog. Se ele quisesse definir um estilo próprio em um grupo de linhas ou em um único trecho (Destacar, por exemplo), usaria as tags adequadas na postagem (<div>, <span>, <style>, ...). No caso do "destacar", foi usada a tag <span style="background-color: #ea9999;"> Isso é clamado de estilos em linha.
Para entender melhor o porque do CSS ser criado, é preciso voltar no tempo. Quando o HTML foi criado, foi criado unicamente para dar significado ao conteúdo e não para "embelezá-la". Ou seja, apenas para organizar os parágrafos, cabeçalhos, colocação de imagens, etc. Não serviria para colocar cores no texto, muito menos para "embelezá-la" (ou em alguns casos, piorar) e portanto tags para isso não foram criadas originalmente no HTML.
Como acharam necessário, diversas tags foram criadas para suprir a necessidade das cores. A tag <font> é um exemplo da tag criada para fins estéticos. Além disso, outras tags estavam sendo criadas e muitas vezes, as tags funcionavam apenas em um navegador. Isso causava uma confusão: Tags que seriam usadas para fins estruturais foram sendo usadas para fins estéticos (um exemplo é a tag <table>). Para resolver essa confusão criaram o CSS. Assim, as tags HTML seriam usadas para fins estruturais, enquanto que o CSS para fins estéticos.
O resultado disso foi a depreciação de diversas tags, pois não teria sentido algum essas tags existirem, já que, como dito, o HTML serviria apenas para fins estruturais. Veja a lista completa dos elementos e atributos obsoletos. O problema é que essas tags são usadas algumas vezes, estimulando seu uso. Um site conhecido e que usa tags depreciadas é a Wikipédia em português. Vejam o código-fonte de algumas páginas e verão isso. Vemos ver sobre o artigo GRES Estação Primeira de Mangueira: Se olharem o código-fonte (No Google Chrome, clique com o botão direito do mouse e em "Exibir código fonte da página"), verão que a página da Wikipédia tem elementos ("font") e atributos ("align", "bgcolor", ...) depreciados, além de ter problemas de contraste (mas isso é assunto para outro post). E não são poucos os problemas e não é só nessa página.
Enfim, se quiserem mesmo uma atualização do HTML, comecem parando de utilizar tags depreciadas em chats. O site que utiliza isso deve ser alertado, pois são incorretas estando a utilizar HTML de maneira errada. Outra coisa é aprender um pouco sobre as tags (não é tão difícil) para entender mais sobre esse assunto.