The justification is usually a sort of handwave about scaling, but I tend to be skeptical of that argument.
I remember in the early 2000's writing a system that handled all of the consumer equipment orders and returns for Verizon, pick pack and ship and advanced billing integration with the ILEC phone bill, credit systems, IVR, etc... On a PII class server running SQL server stored procedures and a .net UI.
In 2009, I was processing a TB per month of 837 claims on even worse hardware.
Not that long ago, I saw a post on HN where a Casio calculator was handling the front page traffic.
My point is that even modest hardware has the capability to handle massive loads when the software is designed properly.
Kafka and it's ilk are great for certain use cases, but it's normally a mistake to start out with it unless you're really sure you know what you're doing.
CQRS and data-bus/event sourced systems can be tricky to get right, and you lose a lot when you go to async processing, especially when submitting transactions from a user-facing app.
Inevitably you have to create some sort of polling or server push mechanism to update the UI, and the number of edge cases that can bite you are vast.