I don't understand why HTML maintains its relaxed attitude. Back in the day, it was understandable since humans wrote HTML pages one by one but nowadays it's all written once and then generated through templates. Thus, we can afford to have a strict standard that just breaks when it sees nonconforming markup. If you don't want your customers to see the "page broken" sign, fix your damn website! Losing money and customers is a very good incentive to conform to a standard.
The reason I support stricter markup is because it makes parsing and rendering way simpler. As it is, browsers have "quirks mode" to guess at what the author really ment when they wrote their markup, and no two browser guesses the same. Then there are specialized "html parsers" like beautifulsoup that deal with the bad markup. Away with all that!