XML has its place, like when transferring data between disparate systems. But I can't help wondering if using it for things like the Android Manifest is a step backwards. Why not use a programming language? With XML, you lose a lot of the useful features of a programming language, like code-completion and interaction with the main code.
Taking the Android Manifest as an example, I have to refer to a list of the specific permissions that I require, since without code-completion it won't tell me the possible options. These also have to be spelled exactly right. Also, I'd like to change the icon based on some flags in the code. Can I do this? No, the XML is static. Great!