A ridiculous blanket statement, despite the "almost never" cop-out...
It is cost-efficient in a wide array of scenarios. Many companies pay for it because they have calculated the different investment scenarios and AWS comes on top of alternatives such as owning the hardware or using competing cloud vendors.
I own a consultancy that builds complex web apps and while I appreciate how occasionally a dev has tried to save costs for me by cramming every piece of the stack (web server, cache, db, queue, etc.), in a single Docker image to host in a droplet, I'd much rather pay for separate services, as I consider it cheaper in the long run.
Yes, I charge $60-$90 per hour of dev time to my customers and the time saved from using simple Elastic Beanstalk deployments pays for itself in saved dev time. The architecture is also infinitely easier to reason about and scale than cramming parts in a single image.