DOM (Document Object Model): Когда нужно легко перемещаться по XML-документу, изменять его структуру (добавлять, удалять, изменять узлы) или когда документ небольшой по размеру, так как DOM загружает весь документ в память.
SAX (Simple API for XML): Когда нужно обработать очень большие XML-документы, которые не помещаются в память, или когда требуется однократный последовательный проход по документу для извлечения данных. SAX - событийный парсер.
StAX (Streaming API for XML): Когда требуется комбинировать преимущества SAX (обработка больших документов без загрузки в память) с более удобным (pull) и гибким подходом к парсингу, позволяющим выбирать, какие части документа обрабатывать. StAX - курсорный парсер.