also erst mal ist die Gehenüberstellung zwar häufig benutzt aber falsch
(richtig wäre Tabellenlayout - Div-Layout)
Um eine einzelne Tabellenzelle darzustellen brauchst du sechs html tags (mindestens - dazu noch die Eigenschaften)
um einen Abschnitt in einem sogenannten CSS template zu machen nur zwei für den gleichen Zweck
bringt also eine drastische Reduzierung des Quelltextes und dessen Ladezeit - selbst wenn nur tabellenreduziert ist.
beides kann man mit CSS formatieren - bei einem css-layout sind auch Positionen, Maße und Abstände mit css festgelegt
allein der reduzierte Quelltext bringt schon Geschwindigkeitsvorteile - dazu kommt noch, das eine externe CSS Datei beim Besuch der Seite einmal in den Browsercache geladen wird und dann für die weiteren Seiten schon da ist.
Bei tabellenbasierten Layouts muß im Prinzip jede Seite vom Browser neu gelesen werden (sieht man bei nicht ganz schnellen Verbindungen manchmal daran, daß erst die linke Spalte sichtbar ist)
Zweiter Gesichtspunkt ist die Flexibilität - eine Tabelle hat ein starres Raster. Mit Divs kann man freier gestalten (was in manchen Fällen aber auch Probleme macht). Dies erlaubt zum Beispiel die Reihenfolge von Textelementen im Quelltext zu verändern - ohne, daß sich die Optik ändert.
Für die Nutzung von CSS zur Gestaltung (für Div und Tabellen) spricht außerdem, daß die Seiten damit änderungsfreundlich sind - anders als wenn alle Eigenschaften im Quelltext stehen.
Gibt noch ein paar Sachen - aber das erst mal im Alltag die wichtigsten hier.