XML stands for eXtensible Markup Language; XML does 'nothing itself' it's just plain ASCII text however, if used with a Document Type Definition (DTD) or XML Schema it can become useful.
XML allows you to define markup tags to identify the data in XML documents, the DTD sets the rules of how the XML syntax can be used, or structured.
eXtensible HyperText Markup Language (XHTML) is an application of XML that has a DTD structure that has been written to mimic HTML. So that HTML browsers can read the well-formed XML - XHTML - and output the data via a standard browser to apper like HTML.
To elaborate upon Robert's post, XML is simply a data structure, like 'comma separated values' or Standard General Mark up Language (SGML). From SGML we get HTML, an SGML application. It defines the general rules that HTML uses and it's essentially HTML without any tags defined yet. The Document Type Definition (DTD) describes the elements of the language and the basic structure of application. SGML has some problems that make HTML a little less useful than we need right now. So the W3C has given us XML.
In XML there aren't any optional tags, all elements must have a beginning and an end tag or use the short hand form ('<br />'), all attribute values must be quoted and element and attribute names are case sensitive. The DTD syntax is a little different also. XMTML is HTML as an XML application.
This is a way cooler idea than one might think. About once a week I get a Microsoft Word documents that I need to post to the web. First I save the document as HTML and Tidy it up a bit and then convert it to my own little mark up language. (In my mark up language, certain HEAD information that I will need for the published version is required.) This takes just a few minutes. Then I use XML Style Sheet Transformations (XSLT) to produce the published HTML version. XSLT is another XML application that is a grammar that allows you to describe how to transform an XML application into something else. And I have another XML style sheet that transforms the original XML document into XSL Formatting Objects (XSL-FO). The beauty of XML-FO is that a processor can transform it into PDF.
It took a while to set up, but now when each document comes in it takes but a few minutes to change it into HTML and PDF.
By itself, yes XML-FO is an accessibility nightmare. It's presentation mark up taken to the extreme. But as long as you are publishing a content HTML version along side of it you won't run afoul of the Americans For Disabilities Act. You'll note that I'm using XSLT and XSL-FO to create two different versions of the document from the same source. HTML doesn't do so well with the printed medium but formatting objects convert to several useful formats.
And XSL-FO allows one to use a strictly aural presentation mark up, which is still not accessible but it is an interesting idea.