смотри в чем принципиальная разница.
Есть у тебя 2 системы. Тебе надо выполнить одну бизнес транзакцию которая требует изменения стэйта в обеих системах. Эти системы - отдельные. То есть отедльные процессы. За счет этого ты лишаешься гарантий очередности выполнения операций (вторая может закончить раньше первой), ты не знаешь когда результат будет (отсюда долгоживующие транзакции - занимают какое-то время, не атомарные операции) и в целом не знаешь будет ли какой-то результат (какая-то из систем может быть вообще недоступна и никогда не обработает твой запрос)
Вот для того что бы это разрулить, ты делаешь отдельный процесс, который делает запросы в эти две системы, ждет от них ответов и в зависимости от ответов может принимать решение - все ок все не ок. Если первая сказала "все гуд" а вторая скзала "шо ты за говно мне подсунул" тебе надо отменить операцию. Для этого ты запрашиваешь компенсирующие действия. Мол просишь ту систему которая уже чет сделала откатиться. Ждешь дальше ответа от нее и т .д.
Что бы все это работало - твой процесс с сагой должен иметь свой стэйт. причем сага должна атомарно работать со своим стэйтом (по сути сага это отличный пример агрегатов) что бы гонки не допускались и вот это все.