Pretende-se que a marcação, ou seja, as tags HTML, represente significado e estrutura, não aparência. Ele estava muito misturado nas versões anteriores do HTML, mas os padrões que as pessoas estão tentando limpar agora.
Um problema ao permitir que as tags controlem a aparência é que suas páginas não funcionam bem com dispositivos para deficientes, como leitores de tela. Isso também leva a ter muitas e muitas tags em seu texto que não ajudam a esclarecer o significado, mas a confundem com informações de um nível diferente.
Assim, o CSS foi pensado para mover a formatação / exibição para um idioma diferente, que é separado do texto e pode ser facilmente mantido dessa maneira. Entre outras coisas, isso permite alternar folhas de estilo para alterar a aparência de uma página da Web sem tocar na outra marcação. E ser capaz de fazer isso por muitas páginas de uma só vez.
As ferramentas que o CSS fornece para você fazer isso nem sempre são elegantes, estou do seu lado. Por exemplo, não há como fazer uma centralização vertical eficaz. E centralização horizontal, se não for apenas texto passível detext-align
, não é muito melhor.
Você tem a opção de agir de maneira fácil, eficaz e confusa ou limpa, elegante e pesada. Não entendo por que os desenvolvedores da Web suportam essa bagunça, mas acho que estão felizes por ter pelo menos uma chance de fazer suas coisas.