The paradigm (as decided by W3C) is CSS, cascading style sheets. Many tutorials exist for CSS-ing your site, so I won't go into the "how" of things. For the "what" of things, I'll blabber on...
CSS allows you to assign display controls to HTML elements. For instance, I markup a page rather plainly:
CODE
<html>
<head>
<title>Burp</title>
</head>
<body>
<h1>All about burps</h1>
<h2>The national anthen</h2>
<p>Burping the national anthem has long been...</p>
<h2>Root beer burps</h2>
<p>Widely held as the best source for ...</p>
</body>
</html>
Notice, my HTML only describes structure. I have a page. I have a title. I have two major headings, each with its own supporting paragraph. Nothing in there about display.
Using linked or inline CSS definitions we can provide suggestions to the browser how to render our structure. We can tell it that all h1 tags should be 23 pt dark red. We can say that any p tag immediately following an h2 should indent the first line my 2 em. We can say that a body always has a right margin of 10% and pads 14px on the bottom. We can position elements absolutely (top:200px; left:48px) or we can tell things not to display at all.
There really are some fine controls to CSS. Unfortunately, Microsoft sees no need to implement certain really good portions of it. (CSS table model comes to mind.)
The first really great thing about CSS is it can keep your code very lean. By dropping all the tr, th, and td tags that were only in there for display, you find it much easier to logically follow your own HTML.
The second really great thing is that any device that doesn't support CSS will still see good HTML and render it in a sensible manner.
However, if you follow the CSS route, be prepared to abandon your rounded corners and perfect vertical alignment. At least if you want IE users to read your site.
Good luck,
-Dan
(Hope I've made another convert.)