Storing events as the source of truth gives a perfect audit log and makes every subsequent decision harder, including the ones that seemed unrelated.
what you get a complete history, temporal queries,
the ability to build a new read model
from the past
what you sign up for
schema evolution on events that are
immutable and already written
replay time proportional to history
a deletion request against an
append-only store
every developer learning it
The GDPR deletion problem alone rules it out for a great deal of software: an append-only store and a right to erasure require crypto-shredding or a rewrite, and both are decided before the first event is written or not at all. Event sourcing one aggregate where the history genuinely is the product — an account ledger, an audit trail — is defensible and common. Event sourcing the whole system because it appeared in a conference talk is the failure mode.