There's absolutely nothing wrong with using text-based data formatting. It has been the de-facto standard for decades. Big huge mainframe financial systems still use it today. The benefits are that it's trivial to produce, trivial to consume and incredibly lightweight. And how about log files? Do you know any production platform that doesn't generate its log file in a delimited text format (web, app, db server)?
The downside of flat text files is that if the format changes, then you have to modify both the producer and the consumer ends non-trivially to be able to support the format change. Of course if it's just a human consuming the result, then you only have to change the producer.
The beauty of XML is that the parsing of the data is independent from not only the data but the format of the data. Logically you pass it both the data and the data format, and presto! Everything works. It's not exactly that simple, but that's the premise. You can change the format of the data, and your producers and consumers only have to change trivially (if at all).
The ugly of XML is that it can be a huge performance dog (SOAP anyone?) and very heavy weight. You definitely pay a price for its extensibility. There are cases where it is absolutely the optimized technical solution for a given problem domain, and there are other cases where it's not.
So if it's a simple log that a human will read, keep it flat file. If it's a simple app communicating with another single app and the communications will not change dramatically over time, flat file is definitely faster and lighter to implement, but XML is not a bad choice. If multiple apps need to consume the data you're providing or if the volume of communication change is going to be high, then go with XML. The maintenance of the interface will be more easily maintained over time if you do.