CSS separates content and style. It also addressess the problems
The powers-that-be have bought the argument that CSS is better (than tables, e.g.), and
so all new features will be created for CSS. In fact, many old formatting features of
HTML are being deprecate.
The standards bodies which are promulgating this style will enforce that all browsers
(someday) render pages consistently.
The pages with styling separated can be more easily arranged for accurate and
separating and applying alternative styles allows a single page to be seen well on
a desktop, a palm device, printed, etc..
our pages will be generated by programs (PHP scripts). So separating style and
content is a software engineering principal to divide up hard jobs into several
smaller jobs. The PHP will only need to generate content and doesn't have to
fiddle with tables or other styling matters.