As with all parsers of syntax (including your browser!) there is often a cascade of errors following from a single error.
E.g. suppose you forget to close a <p>, the parser encounters a <ul>. It can now take guesses as to what you meant: either the <ul> should not be there, or either the previous <p> should have been closed. Which it chooses means a lot of errors down the road if it picks the other one than the actually meant thing.
(current browsers tend to pick the other interpretation and silently close off a <p> to prevent the cascade of errors, parsers I've seen all complain about everything that follows, so sometimes a single human errors can generate a lot of errors from parsers.
Those that write e.g. C, perl, ... code know this too, it's a common thing with parsers.
The trick to those who care to have standards compliant code and choosing your CMS in a future-proof manner could (should?) be to have it genereate that compliant code in the first place.
Not easy, but why not add it as a requirement when choosing a CMS ?
I understand people not caring enough, it being too difficult to switch, but I doubt out here people would not be caring at all.
So when choosing a new CMS why not do it right ?