XML stands for Extensible Markup Language. However, this term may be misleading because XML is not only a markup language, but is simultaneously a metalanguage.
A markup language specifies the way information in an electronic document can be processed for use by another computer program, and it does this by denoting structure and content. It "marks up" the text, hence the name. HTML is an example, with its use of tags such as B (bold) and P (paragraph).
Metalanguages create programs that are used to perform calculations and required actions. Examples of such are C or C++ , and Java . XML is a metalanguage inasmuch as it is used to create XML based languages that are then used to create documents or files. For example, a mathematician may program in MathML, a businessperson in XBRL , and a musician in MusicML. When you yourself program in RSS or XHTML, you are also using an XML based language.

click to enlarge
Many programs and applications today, from commercial ones such as Java Servlets, ASP.Net, and Sharepoint, to non-commercial ones such as custom made elearning software, depend heavily on XML documents.
So why and how is XML so useful and popular? A quick foray into its background is necessary to address this question.