мои 5 копеек:
XML нужен для описания данных. Тут тебе и разбиралки готовые, и возможность (необходимость почти!) собственную граматику написать, и все на свете. Поэтому XML можно использовать для:
- обмена информацией между разными программами, не изобретая велосипед (свой формат передачи данных+парсер+всяая прочая фигня)
- для гибкого отображения данных (пишем набор xslt правил, и выводим один файл с данными хоть в HTML, хоть в WAP, хоть в RTF)
- для написания сложных конфигов программ
Но! Все это сопряжено с работой с парсерами XML. То есть с необходимостью изучать API этих парсеров, включения их в свои программы, etc. Ну и изрядные накладные расходы на обработку XML.