In a traditional system, we ask: "What happened?". In Event-Driven Architecture (EDA), we react to things as they happen. It is the architectural equivalent of a "Nervous System."
The OrderService doesn't know the EmailService exists. This is radical decoupling. If you want to add a 'RewardsService' later, you just point it to the `OrderPlaced` topic. You don't have to change a single line of code in the OrderService. This is how you achieve **Scale and Velocity**.
Q: "What is the difference between an 'Event' and a 'Command'?"
Architect Answer: "A **Command** is an intent: 'PlaceOrder'. It can be rejected and usually has one receiver. An **Event** is a fact: 'OrderPlaced'. It cannot be undone, it represents something that has already happened, and it can have zero or many receivers. Architecturally, Commands are 'Point-to-Point' while Events are 'Broadcast'."