The problem is though, that almost all
html on the internet is bad html. Even sites you'd expect to be better use horrible code.
PerlMonks, Microsoft, and Mozilla all fail validation. And they're the only 3 I've tried. This is because writing correct w3c validated html which renders well in all browsers is extremely difficult without losing page complexity. These problems are increased on dynamically generated pages.
To avoid these problems, the w3c is pushing the xhtml standard; which is similar to HTML 4.01 except has to be structured in xml style syntax.