Because computers are computers and people are people, they generally have different requirements when it comes to getting their data into a usable format. XML is an attempt to arrange data in a structure that is usable for both people and software.
XML has really come into vogue in recent years, but its roots are quite old. It's derived from SGML (Standard Generalized Markup Language), as is HTML (cousins!). SGML in turn came from GML (Generalized Markup Language), a "metalanguage" (a language that describes another language) designed by IBM back in the 1960s. So, blame IBM if you want to, but either way, you will come in regular contact with XML as you develop .NET applications.
I might as well tell you right from the start: either you will love XML, or you will hate it, but probably both. It's a strange beast, this XML is, as you would expect from any acronym that takes letters from the middle of the words it represents (eXtensible Markup Language). XML represents an alphabet of data manipulation technologies, an alphabet that strangely has seven Xs. But enough of the teasing; let's extend our understanding of this basic .NET technology.