You are, of course, correct. That's why no one uses XML-based dialects anywhere, ever.
Random example: (input type="checkbox" checked="checked"
The fact that all attributes in XML (and thereby, XHTML) are quoted removes ambiguity, and avoids any issues with attribute values that have spaces.
Another example could be things having names, IDs, classes seems amazingly redundant.
IDs and classes serve totally different semantic purposes, and names aren't even a part of the standard anymore except when it comes to form elements. Any redundancy that exists is necessary to allow flexibility and semantic correctness.
Then there is anything to do with tables.
Tell me when working with tables is ever fun.
And formatting has tons of stupid quirks.
Well then it's a good thing that Good Web Developers(TM) don't use XHTML for formatting.
Only way it dodges being the worst language ever is the fact that it isn't really a language.
Well no, it's a language, just not a programming language; XHTML is a dialect of XML, a mark-up language, and a very good one at that. Name me one other mark-up language that's as flexible, powerful, and with as much potential to be extended.