CSS or cascading style sheets are a set of properties that describe how elements display on a web page. According to W3 standards, each HTML element has a specific way of being displayed. This way <head> is not displayed, <body> is a block, <td> is a table-cell and <a> is an inline element. And <form> usually has a bottom margin of 1em. W3 specifies rules on what display each element should have but is much more lax on the additional display properties of the element (such as margins, padding, etc.). This is left to a browser, which applies default values.
When an HTML document is created without a CSS stylesheet, default browser stylesheet is loaded to display the results. Browsers will differ in default font or margins or paddings they apply to specific elements, but they will have to follow basic principles of display as defined in W3 spec. That means that div will be block, span will be inline and table row will be table-row. The fact that 'table-row', 'table-cell' and 'table' exists in CSS is because CSS has to be able to define the appearance of tables. If these properties did not exists, tables could not be explained within CSS. However, just like you won't go assigning list-style-type to an element that is not a list, you will also not assign table style display to a non-table element. This is the principle of semantic web.
Semantic page is a page that makes sense to a browser that cannot understand visual styles. Page that has several headings, lists, paragraphs, emphasized words and tables. Not a page that has a bunch of divs and spans visually acting out all these other elements.
When people say you should lay pages out via CSS, they do not mean to mask a bunch of divs and ask them to act as tables. They say that because they know that by harnessing CSS visual properties, they can make semantically neutral building blocks of page, or divs, easily stack in the way they want them to be. If you do not know how to do this via normal document flow, floating and margins/paddings combination, then you need to learn more about CSS. If you do know this, then continue using that knowledge, because that is the way you're supposed to build pages.
Lastly, on the link. Internet is a vast space where everyone can publish anything they want. And if you spend long enough time searching, you can find anything. The article you're referring us to, is unfortunately incorrect and preaches poor techniques. Why would anyone think that masking other elements to make them act as tables is a solution to any layout issue is beyond me. All I can advise you is to forget most of what you've read in that article.
[small]Do something about world cancer today:
Comprehensive cancer control information at PACT[/small]