The current markup language standards (at time of writing; end of 2006) are HTML 4.01, XHTML 1.0 and XHTML 1.1 — and each of the first two are available in Strict, Transitional and Frameset versions, though Frameset is rarely used. These standards have been around for years, and even if new standards come tomorrow they won't work in current browsers... in other words, they're what we're stuck with for a long while.
Specifying a language and a version means that when people come along in the future they don't have to guess as much how to display your document. In the here and now, if you don't specify a DOCTYPE (also known as a DTD) and validate documents against it, your pages will be rendered in "quirks mode" — which can make troubleshooting layout problems in different browsers a lot more difficult. And catering to as many browsers as possible is common sense; you wouldn't answer 10-15% of phone calls with an immediate "fuck off, you've got the wrong type of phone" ... would you? Particularly when it's easy to cater for most people, and writing clean markup to standards also helps to improve search engine ratings.
But which one, and which version? What follows is my thinking process.
Reasons to use XHTML:
It's a "latest and greatest" technology, especially to people who have very little understanding of what it means. It could help land you a job with those people.
Specific XML-related uses such as MathML or SVG content.
It forces you to write cleaner markup, as container elements — <p></p>, <li></li> etc. — have to be closed.
Reasons to not use XHTML:
Internet Explorer, including IE 7, doesn't support documents sent with a MIME type of application/xhtml+xml — by default it gives a download prompt rather than displaying the page. It's possible to send XHTML 1.0 as text/html, but it gets parsed and rendered as HTML rather than as XML.
A reason to use a Strict DOCTYPE with XHTML 1.0 or HTML 4.01:
It forces you to write cleaner markup, moving presentational attributes — border=, width=, align= etc. — to style sheets.
A reason to avoid XHTML 1.0 Strict and HTML 4.01 Strict:
Both remove support for iframes, likely to be an insurmountable problem for anyone using adverts such as those from Amazon or Google. Some people are surprised that <iframe> is part of the HTML 4.01 specification, having assumed it was IE only — it's in the spec and works fine in Firefox, Opera, etc. (In theory iframes are replaced in XHTML by the <object> element, but as usual Internet Explorer holds back development by supporting it only brokenly: in IE6 all object elements are treated as ActiveX objects, and IE6 isn't going anywhere any time soon.)
Where does this leave us? I'm inclined to validate as HTML 4.01 Transitional but code to the same standards — closed container tags, avoiding presentational attributes, not using tables for layout, supplying alt text for images, etc. — as (X)HTML Strict. The advantages offered by separating content and presentation aren't exclusive to markup specifications that force it.
I do strongly suggest specifying a DOCTYPE and validating. But don't worry too much about which standard you're validating against, as long as what you produce does. It's actual quality of code that's important.