Agreed, it was a huge failure to clearly think about designer's problems.
We have decades of experience with real layout models in both traditional graphic design software and in developmental software that has layout manager.
And nobody thought that being able to flow several columns on a webpage would be useful?
Since when is it hard to do a three column layout with CSS? It is in fact quite easy, and always has been. What has been hard is three columns with a liquid center column that works in Internet Explorer without hacks. That's a Microsoft problem, not a CSS problem.
Sorry but that is an understatement.
Creating a three column layout is surprisingly hard and completely counter-intuitive and it gets only harder when you want liquid columns. IE is part of the problem but many of the other browsers also had their own quierks until recently.
Creating a n-column layout in CSS, in a sane way, has literally turned into a pseudo-science over the years. That wouldn't be the case if it had ever been as simple as spelling it out the obvious way and adding some IE hacks.
Even todays state of the art solution ("the holy grail") is a fairly strange beast. It admittedly gets away without the nasty hacks and negative margins that previous solutions required - but it took us literally years to arrive there and it's still far from pretty.
It's easy if your mind thinks in CSS but if you still think in tables (a habit that I find surprisingly difficult to undo) then yes, it's a bit of a mess. I'm happy CSS frameworks & their browser resets exist so I can think about more important things.
As far as I'm concerned, CSS is a miserable piece of work. Witness how hard it is do a simple three column layout. It fails half of the simple edict:
Make easy things easy and hard things possible.