Mentre html è un linguaggio a sè xhtml è un dialetto xml. Servito col giusto mimetype (application/xhtml+xml) xhtml viene interpretato col parser xml e può includere altri dialetti (mathml, svg).
Il problema è che xhtml è quasi sempre servito come text/html (application/xhtml+xml crea diversi problemi): il browser lo interpreta col parser html e per di più non lo considera codice valido (<input type="text"/> viene corretto in <input type="text">, ad es). Gli altri dialetti eventualmente inclusi sono ignorati.
Considerando anche che la prossima versione di xhtml sarà notevolmente diversa dall'attuale, e che quindi xhtml non è più "future-proof" di html, non sarebbe forse meglio -- in linea di massima -- evitare di usarlo e scrivere html valido?
http://www.hixie.ch/advocacy/xhtml