Event sourcing stores state as a sequence of events (facts), and current state is rebuilt by replaying them into a projection. Benefits: audit trail, easy history, and time-travel/debugging. Trade-offs: higher complexity, event schema evolution, more moving parts (projections), and harder ad-hoc queries.