Write the markup for the page first, then write the CSS second. It totally depends on the content as to what the correct element for the job is.
If you have a paragraph of text, use <p>, if you have a list of links, use an unordered or ordered list (<ul> or <ol>), if you have a heading, use one of the header tags <h1-6> etc.
If you want to divide up the content into various sections then use a <div> elements, and if you need to alter the markup later so that you have another element to hang some styles on, then either <div> or <span> will do.
Laying out a page based on CSS is totally different to laying out a page using tables, and therefore it requires a totally different mind set.