Event Notification vs Event-Carried State
Whether an event carries only the fact that something happened, or also the data a consumer needs to act on it.
Notification — a thin event: "order 123 changed". Consumers call back for details. Small payloads, producer's data model stays private, and it produces a stampede of callbacks on every event and couples consumers to the producer's availability.
Event-carried state transfer — a fat event containing the relevant data. Consumers act without calling back, so they keep working when the producer is down. Costs larger payloads, and the event schema becomes a published contract that constrains the producer's evolution.
The usual right answer is between them: carry the data common consumers need, not the producer's entire internal model. If most consumers immediately call back for the same three fields, those fields belong in the event.
The failure to avoid either way is publishing the producer's internal representation, which couples every consumer to a schema that was never designed as a contract.