I'm sure some agencies do a fantastic job (those that think about the bigger 'more than just dev' picture). But on 95% of the sites I'm seeing right now the downsides far outweigh the benefits and it feels like dev for the sake of dev.
This is exactly how it looked like when Flash was a popular choice for making web interfaces. We've fought a long, hard battle to finally get back to indexable, interoperable, standards-based HTML, CSS, and JS. It was fine for a while, then Angular happened. Fast-forward a decade and we're right back when we started. Amazing.
I don't see developers making these decisions anymore, not in large web-based tech companies.
My experience has been that management controls a lot of these decisions and/or steers them in the direction that they want them to go. And the more power a manager holds over a team or department, the more influence they can exert to get their way.
As an example, I'm hearing from a colleague in another department that they're being told by an engineering SVP that all new backend services are to be written in NodeJS. These are .NET developers. How does this guy who is 3 layers above these engineers intend to enforce this "rule?" The implication is you can do this or get fired, I guess, so it's happening regardless of how stupid it is. This was all explained to me when I noticed that I had gotten 3 "so long and thanks for all the fish" emails from long-timers in that department.
This is always my thoughts when I start a project with something else .