Pros
Makes transaction management in a loosely coupled, message-driven environment possible.
Well-suited to transactions that have a small number of steps (4 -5).
Cons
Can be complex to manage, particularly if a transaction has a large number of steps and the environment is asynchronous.
Requires a good deal of programming, particularly to support rollback in an asynchronous, message-driven environment.
https://www.vinsguru.com/choreography-saga-pattern-with-spring-boot/