For historic reasons we have a mixture of
and
HTML will serialize as HTML, so the output may not be well-formed XML. If you are only sending to browsers and don't care about being able to parse as XML then that may work for you.
XML will serialize as XML, so the output will be well-formed, but you may run into some issues with browsers using the output. Small things, like self closing and elements. In order to avoid that issue you would have to play games, like adding comments inside of the element (e.g. )
If you have an XSLT 2.0 engine and want well formed HTML output without the headache of worrying about how some elements are serialized, then use XHTML.