You may put every thing in a database. Then you can make it available to other people, may be on a web site in human readable format. But imagine, if you ever want to make your data (such as a CD catalog) portable, so that somebody else can make use of it, not just to read it or display it, but to let one of his own front end software consume it. Consider a third party software which compares the prices of different CDs, or a software which lists out all the CDs made during a particular year. You need to let those third party softwares have access to your database in order to function. But it would be difficult, if not impossible for them to download the whole database, such as an RDBMS. The easiest medium to port data across any network is text (as it is light and consistent across platforms). But a plain text file (such as a tab delimited or comma delimited) might have the data, but might not be meaningful enough.
Consider this data
Empire Burlesque Bob Dylan USA Columbia 10.90 1985
You may still manage to make some sense out of it, but consider this one
Empire Burlesque Bob Dylan USA Columbia 10.90 3.50 1985
It has all the data, but you may not really understand what that 3.50 is.
Now have a look at this
Empire Burlesque
Bob Dylan
USA
Columbia
10.90
3.50
1985
I bet, it is self explanatory.
In summary, XML is required to make your data 1. Structured 2. Portable 3. Reusable and 4. Consistent across platforms.
Hope that helps!