In fact the article speaks of "CSS wars". The intention of CSS really is to not only provide styles but also layout. You should be able to just switch to different CSS and then have navigation bar right instead of left or whatever other changes, even a complete different layout. CSS utterly fails to provide that in a simple and consistent way, which is proven. It's astonishing that you'd need so much CSS code for such a simple layout, just to cope with all the problems of overflowing text and such, which is really simple with tables.
There's the disadvantage, that you fix your layout by putting it into the html part, to change a sites layout this way isn't as simple as replacing a css file. On the other side the article demonstrates that this isn't working anyway without complicated CSS stylesheets.
To still give the CSS folks a bonus, there are lots of CMS out there, and many of them have a template section and most of these have several working templates that are rather different and still work with the same html output of these CMSs, so it IS doable to layout with CSS. It's only rather questionable, if something that should help you makes it so complicated. You could go one step further and say it'd be good to use frames for layouting a page <eg>.
If you go for the table approach, the output of your php scripts (or ruby, python, perl, whatever you take to bind to your oracle data) will need to output the table html and tds in the correct order, that disadvantage remains. But whether it's divs or tds, you normally plan html output in some order anyway.
Well, the best approach to this still is keeping the table html apart from the real content. So you'd best modularize the content output to only output a part of each page, eg header.php, navigation.php, article.php, footer.php etc., not named by the layout position, but by their meaning.
A (or several) view.php would combine the table layout html with the calls (includes/require in php) to these seperate scripts/page parts, and you still can use the MVC design pattern by a controller.php on top of all, that does the nongui stuff, sends headers before any html output and controls which view.php will be used to render a request.
Bye, Olaf.