We used to use libxml. But this parser had severe memory leaks at the time and was not working in a production environment. It also had a hard time parsing some very valid XML files.
We then made an extension to PHP for supporting the QT, qdom, C++ XML parser. This worked well, however people had a hard time installing this.
So to make eZ publish simpler to install we made an XML parser which is bundled with eZ publish.