Headings aren't in there to give you a convenient containter
for random style markup. Headings are in the the HTML standard
to allow you to break a document up into sections in an
orderly fashion. People just abuse them to get nice
giant bold text. If you want Nice Giant Bold Text and
the text isn't a series of headers, please do use font
or css on a <span> tag. H1-H6 tags should be used
for headings so that they can be pulled into an outline
of a document. Otherwise you just have found another way to
abuse HTML.

While I certainly agree in principle, there's a small problem with that point, in practice (sometimes): Many browsers do not properly parse the span tag and, worse, do an abominable job of applying CSS to the same tag. There are times when the only options are using the heading tags or using the font tags to get the desired effects in a broad enough cross-section of graphical browsers to make a webpage properly functional to a large enough segment of the browsing population.

Since using font tags has a tendency to generate error warnings in CSS validators, that means that sometimes heading tags are the only option for getting by the validators. That, of course, is because validation scripts are often somewhat limited, and not because the code is actually valid, but it emphasizes the difficulty we'll have in moving toward a standards-compliant web while standards-noncompliant browsers like IE still command such a large share of web browsing business.

I agree: heading tags shouldn't be used that way. That doesn't mean I don't understand why they often are. I'm more annoyed by the failure of browsers to properly parse span tags than I am by the failure of web designers to properly use HTML (or XHTML, as the case may be) and CSS when they try to compensate for the failures of web browsers.

I eagerly await the day that the tools with the best functionality all properly support XHTML, in any case. I'd like to see CGI.pm and any other tool used for generating markup actually produce code that is difficult to structure badly by virtue of its parsing rules. Regardless of what it does support, however, until the viewing apparatus supports the full standard there will always be standards-noncompliant kludges used to get around the failings in the system as a whole.