そもそもCSSとは何をしてくれるものなのか?

文字をコントロールする

Microsoft WODRなどで文章を記述する際、どのようにすれば読みやすいか、またはわかりやすいかを考え、文字色やフォントサイズ、行間等、さまざまな事を調整しながら文面の記述をするはずです。
WEBデザインにおいても全く同様で、やはり文字の表示形式にメリハリをつけることで、ページを見やすく、情報を伝えやすくするのが、良いサイトを作るひとつの条件になります。

レイアウトを整える

CSSで決めておけるルールの中に「その文字を出すためのエリア(ボックス要素)の大きさをいくつにするのか?」や、「大きさの決められたエリアをどこへ表示するか」といった、ページ全体のレイアウトをつかさどるものがいくつかあります。
これらの機能を利用することで、ページのレイアウトを作ることができるようになります。

まとめとして

CSSとは、HTMLとして記述された文面(あるいは画像の場合もありますが)を「どのように表示するか?」を決めておくためのさまざまなルールのかたまりであるということができます。

なぜCSSでレイアウトをするのか?

ほとんどのWEBサイトは、検索エンジンでキーワード検索をしたときに、できる限り上位に表示されてほしいという希望とともに作成されるものです。
よって、デザインが全く同じであれば、検索結果でより上位に来るサイトが、良いサイトと言えます。

フレームレイアウトではだめなのか?

ウインドウをフレームで分割してレイアウトする方法は、ひとつの完成されたコンテンツを表示する際に、複数のHTMLファイルが必要になります。
このとき、すべての情報を含む、いわゆるフレーム分割をするHTMLファイルには、本文が含まれず、フレームを分けるプログラムのみ記述されている場合がほとんどです。
つまり、検索にかかる可能性のある材料が存在しないことになります。
また、本文を含んだページが検索にかかった場合、ナビゲーションやコンテンツロゴの部分の無い表示になってしまう可能性が非常に高いです。
フレームによるレイアウトは、検索エンジンの上位に表示されるためには、不利な方法と言えます。

テーブルレイアウトはどうか?

一時多かったレイアウト方法です。おそらくページ自体をデザインする際には一番簡単なやり方ではないでしょうか?しかしこれも、検索エンジンとの関連でやはり不利になってしまう方法だと言われています。
文章は一般的に、「文章のタイトル」「見出し」「本文」など、段落ごとに役割わけされています。
検索エンジンは、キーワードに対して、その出現位置が、「文章のタイトル」に出ているのか「見出し」に出ているのかなどによって、優先順位をつけています。
このとき、「表」という役割をもった部分の優先順位は、ほとんどの検索エンジンで低く設定されているようです。
ですので、文中で「表」として「表組み」を利用するのは問題ないのですが、ページ全体が表の中に入ってしまうのは問題がある、ということになります。