If you are displaying a table (e.g. energy cost for varying outdoors and indoors temperature), use the table element. It's what it is there for.
If the data you want to display is an (un)ordered list of items, use the ul/ol element.
But if you are dealing with layout only and the data has no meaning as table or list, you should not use table or list elements, but rather the neutral div together with css to achieve your layout. The reason is that html is supposed to be semantic.
The first thing to realize when using float or absolute positioning is that the containing box will not be resized to fit the content. This may or may not present a problem. When using absolute positioning for table cell equivalents, the "row" must be relatively positioned, not static as is the default. Wether or not you need equal height columns, the two following approaches ought to teach you a bit about what you need to know.
The one true layout
faux columns
Another option is using table, table-row and table-cell display. Sounds nifty in theory, but there are still things to deal with since IE (surprise) has crap support for css tables, at least prior to IE8.
Example of display: table, table-row, table-cell