because a user can define any kind of tag.
How is that relevant or problematic? Because XML is well-defined, you can safely copy (or ignore) any ancillary data.
Let's say application A has a certain binary format which application B also supports. However, B also supports additional features (and they are not binary compatible) and if it writes to the same file, application A will no longer be able to deal with this file at all.
With XML, you could at least have application still functioning with the same file.
Of course, that doesn't mean you couldn't also devise a binary format to achieve the same thing, but XML already exists and is human editable.
XML leverages core skillsets and world-class team synergy through enterprise-quality markup to provide clients worldwide with robust, scalable, modern turnkey implementations of flexible, personalized, cutting-edge Internet-enabled e-business application product suite e-solution architectures that accelerate response to customer and real-world market demands and reliably adapt to evolving technology needs, seamlessly and efficiently integrating and synchronizing with their existing legacy infrastructure, enhancing the e-readiness capabilities of their e-commerce production environments across the enterprise while giving them a critical competitive advantage and taking them to the next level.