XML has been around for a while now, and it's used a lot - indeed a lot more than it should be. Like most tools XML is good for some things and not for others
- It is excellent for textual markup. I'm writing in it now for bliki entry find it powerful enough for a full length book.
- It is tolerable for describing textual hierarchic data. The use of close and open tags make it rather noisy, especially if people use elements rather than attributes for simple values. Certainly I've seen simpler and more readable schemes, but on the whole it's good enough. Having a standard for tools to cluster around outweighs the negatives.
- It is terrible for a programming language. Once you start putting structures like control logic the noise of XML becomes intolerable. The great example of this is XSLT, which is awful to work with. No language can be good that makes a subroutine call so painful.