Which is better to learn HTML 5 or XHTML?
Both. I'd focus on XHTML as current browser support for HTML5 is pretty low.
You mean "(x)HTML 5" aka "Web Applications 1.0" or "XHTML 2.0"? Since it will take a couple more years until one or both of these techniques will be fully usable, I would suggest starting with pure and simple XHtml1.0. You will find quite some good tutorials and you can use your xhtml with any actual browser. To later change or update your knowledge to the final draft and the small nuances will be very easy once you already know one of the old versions.
HTML 5 supports two syntaxes. One of those syntaxes is XHTML.
Don't limit what you learn: if you plan to write HTML in the future, learn about HTML 5 and understand both syntaxes it uses.
If you're writing HTML today, still learn about HTML 5, but stick to the tags which currently work (i.e. those compatible with HTML 4 or XHTML 2 as appropriate to the syntax you use.)
XHTML allows SVG graphics and other XML content to be embedded inline (this is a good thing for decorative flair). HTML5 is still undecided in this regard. Other than than it's probably 50/50. HTML allows you to be more sloppy with your code which might be a good thing while you're learning.
XHTML specs are not backwards compatible which necessarily puts a damper on wide-spread adaption. Your investment in todays version of XHTML gives you nothing over todays HTML when moving to tommorrows version of XHTML. They are essentially the same source documents that can be trivially converted from HTML to XHTML.
All major browser vendors do not support XHTML which makes widespread adaption today impossible.
In my view Hand-coding documents in XML is not an ideal or bandwidth effecient endeavour. With HTML I don't need to worry about case sensitivity, spacing, having closing tags or /> syntax for items that don't need them. XML is too pedantic a syntax for widespread human consumption in my view.
I see too many people adding XHTML doctypes and actually thinking browsers are rendering XHTML when in fact they are ignoring the tags alltogether. I'm sure people have their reasons but I fear a non-trivial majority choose XHTML simply because its the latest buzzword.
The only actual benefit I know of currently to XHTML is that the format of the document can be validated using a validating XML parser. There have been HTML "lint" tools avaliable since Mosaic and Cello dominated the browser space.
Spec interpretations and rendering bugs have always dominated compatibility issues.. Expecting XHTML to make all your problems go away is not realistic in my view. I need not go any further than CSS :-(
I would focus on HTML5. While there are features in HTML5 that are not widely supported, they are optional features; if you don't use them, your pages will still work properly, and you won't be any more hampered than if you used xhtml instead. Plus, browser support for those features is growing quickly, and even IE can be made to support much of the feature set through javascript shims.