dann wollen wir mal:

zu frage 1: html an sich ist eine alte geschichte. auch wenn es bis heute ein standard zum erstellen von webseiten ist. im reinen html wird der inhalt der website (text, bilder, etc.) in einer einzigen html-datei gespeichert. diese datei enthält sowohl den webseiten-inhalt (texte, bilder, etc.), als auch alle formatierungsanweisungen (bspw. schriftgrösse, schrift- u. hintergrundfarbe, bilder und deren anordnung etc.). das w3c hat nun aber gesagt, dass künftig (und dies gilt bereits heute) nach möglichkeit der inhalt einer webseite und deren formatierungsanweisungen getrennt werden soll. das heisst: du hast eine html-datei welche vor allem den inhalt deiner webseite enthält - und eine zweite datei mit css-anweisungen, welche die formatierungsanweisungen für die webseite enthält. ein grund für diese handhabung liegt darin, dass viele formatierungsanweisungen aus dem html-standard heute als veraltet gelten. selbstverständlich kann man css-anweisungen auch direkt in einer html-datei unterbringen. dies ist allerdings spätestens dann unpraktisch, wenn dein webauftritt aus mehreren seiten besteht. (da dann in jeder einzelnen html-datei alle benutzten css-anweisungen immer wieder wiederholt werden müssten. die anweisungen aus einer css-datei kann man hingegen in mehreren html-seiten benutzen).

zu frage 2: naja, was heisst 'günstiger'? weder html, noch css kosten dich auch nur einen einzigen cent. das grundgerüst einer webseite besteht -soweit ich weiss- immernoch aus html. auch wenn eine website komplett in javascript, php, pearl oder einer beliebigen anderen skriptsprache implementiert wird, besteht das grundgerüst immer aus html-anweisungen. welche technologie am ende für eine webseite verwendet wird, muss man danach entscheiden was die seite 'können' muss. wenn bspw. funktionaler inhalt, wie ein besucherzähler oder datenbankzugriffe, bestandteil einer seite sein soll... sollte man zu einer skriptsprache greifen, welche serverseitig ausgeführt wird. (bspw. php, pearl). dies deshalb, weil serverseitig ausgeführte skripte vom besucher einer website nicht unterbunden werden können. wenn man bspw. einen besucherzähler auf seiner webseite hat, welcher in javascript implementiert ist und der besucher in seinem browser javascript deaktiviert hat - kann der besucherzähler natürlich nicht richtig zählen...

zu frage 3: wenn die seite eher textlastig wird, könnte man dennoch die komplette seite in flash implementieren..... ist in diesem fall aber übertrieben.