In order to make the world wide web a better place, web standards were created so that your website can be shown correctly on every browser *cough*except for Internet Explorer*cough*.
After HTML 4.01, The W3C thought it was time for a different approach, and started working on XHTML, which has a syntax conform to XML.
So now, we've got two different standards, and both have their (dis)advantages.
I found a very good FAQ about this matter at the sitepoint forums: XHTML vs HTML FAQ, where the differences of these two standards are explained, as well as why you'd have to choose one or the other.
It made me think about what I chose, and why... and the biggest reason I switched to XHTML 1.1, is the consistency: In XHTML, you know exactly how your code should be written.
Opposed to HTML, where it doesn't really matter: who cares if your tags are written in lowercase, need to be nested properly, need to be closed... and so on.
I don't think having so much freedom is good. Web browsers that are allowing faulty code (and thus making the program more complex) make it even worse, as it makes sloppy web developers get away with their incorrect use of the language.
When programming in C#, Visual Basic, Python or any other programming language, you need to make sure your code is correct, or it just won't work. Period.
I don't see why this shouldn't be the same with websites.
The result is that the majority of websites are shown well in only one single web browser. Sometimes it's even worse: you'll get a message saying that you have to use a specific browser in order to be able to visit the website.
I'm curious about html 5, but I fear it won't change much...