Let me tell you why 𝗲𝘃𝗲𝗿𝘆𝗯𝗼𝗱𝘆 benefits from a Message-Driven Architecture.
"Don't you mean Event-Driven, Steven?" No, I do not. Events are messages, that's for sure. But messages are not necessarily events.
Let us get something straight: an event is something that 𝗵𝗮𝘀 happened. Thus, events are a type of message describing something from the 𝗽𝗮𝘀𝘁.
If a cashier at a supermarket said, "Requested payment option from the first person in the queue," after all my groceries had just been scanned, I would likely get the hint. But broadcasting that is not clear at all. And, frankly, a little weird.
If the cashier would instead say, "Cash or card?" and direct it to me, the message would be much clearer.
So why not benefit from this 𝗻𝗮𝘁𝘂𝗿𝗮𝗹 𝗳𝗹𝗼𝘄 when building applications?
I believe that the 𝘀𝗲𝗽𝗮𝗿𝗮𝘁𝗶𝗼𝗻 of messaging-driven architectures is clear to everybody. Heck, that is, in part, why event-driven architectures became so big. In this style, a 𝗺𝗲𝘀𝘀𝗮𝗴𝗲 𝗯𝘂𝘀 gets messages from one place to another. Thus, the sender and receiver do not know how the message is transported—nor do they have to, as the message bus takes care of that! Hence, we achieve separation between the sending and receiving, making the application more flexible.
But, if the only message you use is an event, all the communication would become as awkward as broadcasting facts in front of the cashier.
You will get your point across, but your application will become tangled in a weird "past-tense blurting and waiting"-style.
Adding current-tense 𝗮𝗰𝘁𝗶𝗼𝗻𝘀 to request changes and a request style for 𝗾𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀 as specific message types will untangle this mess.
Not just in the actual implementation but also when reasoning about the application! Both with your developers 𝗮𝗻𝗱 with the business. And thus by picking a 𝗻𝗮𝘁𝘂𝗿𝗮𝗹 𝗳𝗹𝗼𝘄, the development will flow naturally, leading to a successful end result.
Hence, 𝗲𝘃𝗲𝗿𝘆𝗯𝗼𝗱𝘆 will benefit.
Sure, there is more to it, but I have yet to see an application that does not benefit from a Message-Driven Architecture.