XMLパーサーには大きく分けて二種類あります。
1.DOMパーサー
XML文書のあらゆる箇所をランダムにアクセスする必要がある場合のパーサーです。
例えば、XMLオブジェクトを持ちまわって業務ロジックを動かす場合、各業務ロジックにてどの要素にアクセスされるかがわからないため、DOMパーサーが適切となります。
Javaでいうと、DocumentBuilderFactoryがメジャーです。
2.SAXパーサー
上記に対して、XML文書を上から順番に読み流す場合はSAXパーサーを使用します。
SAXパーサーはDOMパーサーと違い、ランダムアクセスはできません。
その代わり、SAXパーサーはXML文書を上から読み流すだけなので、どんなに大きいオブジェクトであっても少ないメモリ消費で済みます。また、巨大なXML文書の場合であっても、XML文書の解析完了を待たずして順次ロードされるので、少ない待ち時間で処理を開始することができます。
例えば、XML文書をJava Bean に変換する処理の場合は、ランダムアクセスは必要ないと思われるので、SAXパーサーが適切であると思います。(この例はケースバイケースではありますが)
Javaでいうと、SAXParserFactoryがメジャーです。