Events describe what happened, commands ask for something

Both end up on the same bus and they are opposites. A command is addressed to one handler and may be refused; an event is a statement of fact addressed to nobody in particular and cannot be.

// command: imperative, one handler, can fail
final class ShipOrder { }

// event: past tense, any number of subscribers, already happened
final class OrderShipped { }

The tense in the name is the tell, and getting it wrong produces a system where a subscriber can reject something that already occurred. A command with three handlers is a design error; an event with none is perfectly normal. The rule that follows: a publisher must not care whether anyone subscribed, and the moment it does, it wanted a command.