XML vs. Relational databases?
I use XML when I need more flexible structure than a database table can offer.

When you have data that you do not know exactly the structure beforehand, it could be profitable to store it as XML. You can store such XML in a relational database field, as many e-learning systems do.

In fact e-learning course structure is a good example because individual courses could be quite different from each other. 

So XML is somewhere between a document and a relational-table. Imagine a database table where each record would have a very different structure, that would be good use for XML. 

Also XML is very good for data interchange, meanwhile files like .DBF, .XLS etc. are not so good.