Occasionally someone I'm showing one of our web sites to will point out that the site has technical errors and doesn't validate as correct HTML.
There are lots of reasons this can happen. It's very easy to make a change to a site which causes the site to fail validation, and few web sites survive the addition of content with validation entirely intact. Sometimes the site doesn't validate because we've chosen to use a technique that validation tools don't understand or won't accept as valid.
It's nice when a web site validates, but that's only an indication of the code's adherence to a specific (and often esoteric) grammar. It doesn't tell you whether or not the site is effective. It can't even tell you if the site looks correct in IE.
Consider the Google home page. It has sixty-two validation errors as of this writing. Is that a problem? No. The page looks right and works right. In fact, it probably looks and works on browsers most professional web developers stopped supporting years ago.
I don't want to sound too down on validation. Validation helps ensure that the foundation of the site is sound. Some validation errors do have a very real effect on how people experience the web site, so if there's a problem the HTML validator is often the first diagnostic tool we reach for. But there are also validation errors that don't matter — at least, not on the intended platforms.
The measure of a quality web site is how it performs for its visitors, not the technical perfection of its code. Validation is a tool, not a goal.