I feel CSS's layout model is simpler than (La)TeX's layout model. At the time Knuth developed TeX, the idea leading to CSS model is a "difficult" things? Or the CSS layout model is not appropriate to be applied to (La)TeX.
When Knuth invented TeX, there was no Computer Science, no web, no html and no CSS. My personal opinion is exactly the opposite. If html was marked as LaTeX life would have been easier, the web would have looked better etc. If there is one aspect that I agree with you is the lack of a
<div></div> concept and the ability to float sections left or right. This can be done using TeX but not as easily. There is an XML version of LaTeX called
tralics perhaps you can have a look as to how it could have looked!
The current shortcomings of CSS/html can easily be observed by the fact that there are over 500 billion pdf documents on the web and the best way to create a pdf currently is with one of the TeX->pdf engines.
Note that the CSS layout model is not simple, because it includes a concept of stitching together boxes both horizontally and vertically, which is tricky (1) . The apparent simplicity of CSS lies in how parameters are passed to the layout engine, through stylesheets; by contrast, Tex uses a famously hard-to-master programming language to associate these parameters with the objects in the layout's domain model.
Also, there is one universally recognised reference implementation for Tex; CSS versions one and two were introduced during periods of intense fighting in the browser wars (2), which made it easy to produce some sort of document with the CSS2 box model, but far harder to ensure a good reader experience that with Tex.
The other important, growing Tex-based typesetting platform, Context NG, actually does permit specification along the lines of style sheets, using its
\...setup commands and its supported for named setups: to the extent that this is more complex, it is in small part due to the historical tie to Knuth's macro language and the larger part due to supporting far more sophisticated layout needs. I seem to recall there was substantial work done in the Context world on laying out directly from simplified CSS stylesheets; links to the current state of this technology would be appreciated.
The why is about ideas: the ideas about programming languages, document presentation, and abstraction that guided the design of CSS came after Tex. Both Context and Latex have aimed to reduce the coupling of layout issues from content. It's an ongoing effort.
(1): I say a bit more about comparative complexity in my answer to What are the differences between the CSS and Latex box models? at Stack Overflow
(2): Read Nicole Henning's from-the-library-trenches account of the browser wars, from the perspective of MIT's efforts to promote internal usage of web standards. Now, with CSS version three, there is no dominant browser; instead, the HTML5 and CSS3 web standards represent a sort of peace treaty.
Even worse, unlike CSS, LaTeX is not intended for unattended typesetting.
For this reason, I now resort to automatic CSS typesetting with PrinceXML for any content that is longer than a letter and not commercial nor academic. The PDF printouts on my web site are generated this way without any user intervention.
If you think of it, HTML+CSS is exactly intended for that: unattended typesetting on screens of unpredictable dimensions. A printed page is merely another media viewport.
With Prince XML one is in good company as more and more professional DocBook users are trading in XSL-FO for automatic CSS typestting. Prince XML is a commercial product though. If it were to pursue a FLOSS business strategy, its adoption rate might well skyrocket.
On print-css.rocks, one can follow the latest developments in unattended CSS paged media typesetting.
Besides that, ConteXt comes much closer to the CSS mentality than LaTeX.