Howdy. Good question.
One of the defining characteristics of the XML community is the inability to adequately answer simple, straightforward questions. This makes it pretty difficult for schlubs like Thee and Mee to larn up on it. You'll rapidly find this out as you try to edjumakate yourself.
XML [xml.com] is a semantic, structural language. Think of it as a language "Lego set." It is a language in its own right, and can be used to describe data structures, in the same manner as JSON [json.org] or BNF [answers.com].
However, what gives XML its true power is its ability to be used as a "meta" language. Using DTDs [w3schools.com] and Schemas [w3schools.com], you can tell XML to act as a data description language (like SVG [adobe.com]), a declarative language (like XSLT [w3.org] or Xaml [msdn2.microsoft.com]) or a page layout language (like XHTML [w3.org]).
XML can be used as a basic underpinning of the Semantic Web [w3.org]. Since every single aspect of an XML-based language is specified in a strict, semantic fashion, computers (simple, plodding, dummies that they are) can understand it. Basically, if you can define something in XML, a computer can understand it. This allows computers to exchange information with each other without the need for human intervention, and with standard tools. You don't need to invent a new parser for your data stream. If you use XML, then chances are good that you'll find one already written, debugged, optimized and embedded in your operating system [xmlsoft.org].
See what I mean about the inability to give an answer to a simple, straightforward question? It's like asking for a glass of water, and having a fire hose shoved in your face.
Welcome to the world of XML.