Easier to parser programmer, more difficult to application programmer.
No complete document available to application programmer. He must keep the state of analysis him-self.
Suitable for tasks, that can be solved without the need of entire document.
The fastest possible processing usually.
Difficulties while writing applications can be solved using extensions like Streaming Transformations for XML (STX)