Decoupling: In a typical microservices architecture, we may want a service1 communicates to service2. So service1 needs to know about the existence of service2 and vice versa => dependency. With EDA Broker, service1 only needs to publish an event and service2 only needs to know how to react to it => Reduce both coupling & dependency. With this pattern, we can easily add more service to listen to event from service1 without any concern and it would just work.
Dependency Inversion: Similar to above
Scalability:
The event can be persisted, making it easier to retrieve event later
No Single Point of Failure, using the persisted events, when a Consumer service comes up after fault, it can easily retrieve and process the event