Certo, sappiamo che l’Hyper Text Markup Language è un linguaggio di marcatura.
Con i CSS infatti potrei addirittura far comportare un tag FONT come un tag BLOCKQUOTE e viceversa.
Ma all’inizio l’HTML è nato ANCHE come linguaggio di formattazione del documento, dal momento che non esisteva il CSS (o come hai sottolineato tu ricorreva alle impostazioni fisse dei fogli di stile predefiniti del browser).
Queste proprietà di formattazione dell’HTML restano tutt’ora funzionanti, sebbene ci sia qualche piccolo scarto di visualizzazione tra un browser e l’altro e nonostante il consorzio deprechi l’utilizzo dell’HTML come metodo di formattazione.

A tal proposito è normale che chi entra nel mondo del web inizi con il linguaggio base (di marcatura) che incorpora tutti gli altri, cioè l’HTML. Ed è normale che, se continua su questa strada, prima o poi passerà naturalmente al CSS visti i limiti piuttosto vincolanti della formattazione HTML.
Dopodichè considerati anche i limiti dinamici lato client del CSS aggiungerà delle interattività JavaScript con DHTML, quindi volendo creare la dinamicità lato server approderà ad un PHP o ASP.net, e necessitando di gestione e storaggio dei dati arriverà infine a coniugare il linguaggio dinamico con un database corrispondente, come MySQL per PHP o SQL dei DB Access per ASP.net
MA il pupillo non è ancora arrivato a tutto ciò, quindi…
Mi par giusto averlo consigliato in tal senso pur avendo sottolineato l’esistenza di una migliore soluzione con foglio di stile interno.
Per queste stesse ragioni anche la suddetta guida HTML svolge egregiamente il suo compito, che è soltanto quello di illustrare l’HTML e le sue funzioni SENZA l’utilizzo di altri linguaggi embedded.