Mi sa che hai un po' di confusione.

I CSS si possono usare anche sulle tabelle. Sono un linguaggio di formattazione (a differenza di HTML che e` un linguaggio di presentazione dei contenuti).

Il Web e` fatto di contenuti e di formattazione di tali contenuti, quindi necessita di HTML e CSS.

Certo che per fare un sito fatto bene si devono usare i marcatori propri.

Sarebbe assurdo, se hai un pulmino e un camion caricare i mobili sul pulman (tanto lo sai fare) e le persone sul camion (tanto ci stanno: il camion ha un telone sopra).
Pero` potrebbe capitarti che all'arrivo ti facciano andare con il camion alla porta del magazzino e con il pullman alla porta principale. Poi il magazziniere non saprebbe come far entrare le persone, e l'usciere non saprebbe come far accomodare i mobili.

Per fare una pagina fatta bene occorre usare i marcatori per quello che sono: ognuno porta un suo significato semantico.
Se arriva una tabella e` implicito: ecco dei dati tabellari - ogni riga ha un suo significato e ogni colonna pure.
Se arriva un <div> e` implicito: ecco un pezzo della pagina che ha un suo significato intrinseco, un po` diverso dal resto della pagina, magari c'e` anche un (sotto)titolo per la divisione.