the idea of
"broken code must render anyway"
is riped. It must die, a painfull dead, because is the father and
mother of the tag soup, that is more vile than the Borg and Microsoft
*combined*
Browser vendors are not willing to remove support for it, because it
would break old websites. HTML5 says broken code is invalid, but aims
to standardize in great detail how browsers should render it anyway,
instead of demanding (impractically) that they throw up their arms and
die like XHTML insists on. A "feature" of XHTML that practically
everyone skips in practice by serving it as text/html.
Even if you want to use it, "some browsers" don't support it so you end
with ugly user-agent sniffing hacks.