HTML went the same way other popular languages (e.g.: VB, PHP, Perl), they got broad adoption because the compiler/interpreter/renderer would be too kind in working hard to fix user mistake instead of reporting them.
And then, when they tried to fix it, the same user base complain (despite being bitten many times by the language) that it should stay like it is, because it has always been like that.
When bad habits became traditions, you are really in a bad position.
"The client is the wrong place to enforce data integrity. It’s just the wrong place. I hear otherwise intelligent people claim that if everyone did it, it would be okay. No, if everyone did it, it would be even worse. If you want to do it, of course I can’t stop you. But think about who it will hurt."
For the developer/tester of Typepad (the blog software) to catch the bug, they would have had to trigger this bug in development/testing before it made it into the wild. While we always hope developers will catch as many bugs as possible, some will always slip through. Strict validation on the client means that even the slightest bug can make the website 100% down/unavailable, even though the browser would be perfectly capable of displaying something that 99% works.
Modern web sites are huge amalgamations of dynamically-generated content using umpteen templating technologies and aggregations of data that come from sources that the page's authors do not necessarily control. Guaranteeing that their output will always be valid XHTML is not trivial.
It IS a bug that the blog engine developers should have catch, in the same way they should have protect the trackback from XSS injection.
Guaranteeing your output will always be valid might not be trivial, but it is way less harder that some people pretend it to be.
The question is, when they do, will you let the browser gracefully recover, or will you demand that the browser show an error page, even though it could do something reasonable?
The security analogy would be to let all your code run as root, because the main security mechanisms should prevent users from executing arbitrary code. But this is fragile, because any security bug would compromise the security of the system completely.
What we do instead is have defense in depth: even if the first layer of security is compromised, there are other layers of security that can (hopefully) contain the damage. Permissive client rendering likewise limits the damage that one bug can do.
That said, even if we choose a defense in depth, it still is not a valid reason to throw away XHTML as it was done.
The same way you will not remove your firewall because it does not block dormant viruses, but add an antivirus, the browsers could have still continue putting effort in rendering the correct, and powerful, XHTML, while setting down some decent fallbacks to recover. Being we a be red warning to raise awareness that something need to be fixed.
An inability to guarantee valid output hints that inputs aren't being properly analyzed and sanitized, with terrible security consequences. Both developers and users of pages should be made aware when these errors occur.
If the error messages are too intrusive, adoption of browsers displaying them would of course suffer greatly.
It very probably was. The path we're going down with HTML5 and "modern" browser technologies is taking a muddled clusterfuck of a mess, and making it even more muddled and even more of a clusterfuck. It'll work, but only through heroic effort and sacrifice.
I feel like we're painting ourselves into a corner with the web these days, and actually reducing choice and flexibility on the web. One thing that is clear, is that we've lost sight of the distinction between a document and an application, and have managed to turn a pretty good hypertext platform into a Dr. Frankentein's Monster that combines hypertext browsing and a poor man's X-server in eldritch and grotesque ways.