When a business operation spans several microservices, you cannot wrap it in one database transaction because each service owns its own database. A saga solves this by breaking the operation into a sequence of local transactions, one per service, where each local transaction is paired with a compensating transaction that reverses it if something later goes wrong.
There are two ways to run a saga: choreography and orchestration. In choreography, services react to each other's events with no central brain. In orchestration, a dedicated component called the orchestrator owns the workflow. It knows the full sequence of steps, calls each service in turn, waits for the result, and decides what to do next.
The orchestrator is the saga's state machine. It tracks where the saga is, which steps have completed, and which compensations need to run on failure. Because all of that logic lives in one place, you can read the entire business flow in a single file instead of tracing it across a dozen event handlers.