But to the computer it's ALL binary data
I use XML when I want to represent hierarchal data in a portable format that is easy to edit. Binary data has endian issues if you go outside the Java world. C-style structures have byte packing issues, etc.. sometimes it is worth giving up some efficiency just so some of those problems go away. The ability to throw your files and data structures into a text editor can really help debugging too.
but for large tables like bitmaps or 3D models yeah XML sucks. Though it might be useful to glue together 3D models and say what texture goes with what model and other higher level binding to binary data. Or for config files etc.
The project I'm working on store all the data in XML format. There is one ugly place where some small opaque data structure is dumped as base64 in the XML, but otherwise the data is very readable in XML form and the files are generally only a few KB. I also needed to share my data with a native application that was already done. The fact that it used XML made my job a bit easier.