HTML is a variation of XML (actually this has changed a little, it turned out that XHTML is what it looks like). As its name says (XML), it is an extensible markup language, so it has a basic idea of how the markup language should be, but the tags may be created as required in their derivatives.
It is not that XHTML is XML, but part of a common basis for its creation. They live creating new markup languages, not all use this XML base.
Many people find this a somewhat bureaucratic and verbose way of making a statement. Some think it’s not powerful enough to identify all situations.
Many GUI, ORM, database, or agent-specific information exchange technologies use a variation of XML.
There is nothing that has exactly the same function as HTML which is the standard language for writing web pages. They could do something much better, probably not even based on XML. I know someone who’s come up with something far more interesting, but the chance to see it implemented and universally adopted is zero :)
There wouldn’t have to be more than one standard language. Although I think I should create a much better one to replace HTML.
Diffusion depends on the point of view. The fact that a person does not know does not mean that it is not widespread. But HTML is so well known for being something used in very widespread technology, he hitchhiked. And there’s a fashion thing to make fashion more fashionable. Some people develop for the web because they know how to develop for the web. Then as many people do for the web, some people think they should only do for the web. And to make for the web is to use HTML.
Interestingly XML appeared after HTML when they realized that it could be a generalization of HTML.