I'll give you a brief rundown. Someone could talk for pages and pages and pages about this subject.
Use <div>'s majority of the time. Divs are for division, aka a division of the page. Header, sidebar, footer, etc.
The only times you should be using tables, is when you have tabular data you need to display. Even then, it's not for layout. It was only done in the old days because it was easy to do, and CSS was a pain to work with, due to limited browser support.
Basically just have an idea of what you want your final product to look like, content included. Think about logically how to slice it up.
Take my website (link in sig and I don't want to post it to make it seem like I'm advertising). It has some parts to it. The title at the top, that can be a header. Navigation bar on the left, that's a sidebar. Contenet area to the right of that. Footer.
You could mark it up something like
My website doesn't do that, but right there is a good example of konwing how to mark it up. I'd float sidebar/content to make it side by side. Clear:both; on the footer, in this example, so it doens't snag on the floats above it. Are you starting to get the picture? Just logically think about how to mark up a page, and go from there.
Even if you don't know how you will position it, just assume we will know how to do it, and mark it up :). We will be here to correct anything. But that example I just gave is generically OKAY.