Coinbase and Kraken are not "central controls" as you not only can use either and they are exactly fully interchangeable, but you can use any number of other similar services--or even deal directly with another user and keep your credentials locally--all of which are exactly fully interchangeable.
Keep in mind, in this walled garden, all the walls do is make you log in, everything else is still free.
Decentralization still requires someone to pay for keeping these services alive. You could argue every user somehow be able to own and run their own platform, but in reality most of the users will not opt for the overhead when you can get it for "free" from a provider. And in a semi decentralized world where a few separate providers keep the lights on, the providers would still need to be compensated for the time and resources they invest, which again brings you back to a different kind of a walled garden.
It's a trade-off that folks are willing to make, and for the "average user" (definition can vary depending on service/area) that is a very straightforward choice. I just hope that more folks understand what rights they give up by becoming attached to one platform as their publishing medium.
Where will the money come from? The only reason there's any investment in software at all is so that a monetizable product can be built on top of it. And nothing monetizes better than vendor lock-in.
That's how we did it the first time.
But some of those become popular and famous, and then there's little incentive to move elsewhere, as their "fans" are on the platform and so it continues to grow.
Attempts to make things decentralized all seem to be aggregating into central controls, i.e. "Web3/crypto" -> coinbase, kraken, etc
Why aren't older decentralized "services" protocols being looked at, or developed further - i.e. UUnet/newsgroups, torrent, etc?