On a traditional local OS you can change the application you use to access your data.
But in a cloud service or app you can't.
Your data and the app are tied, fundamentally.
This reduces competition significantly; an app that has useful data in it (but not particularly good at making use of that data) will be hard for even better competitors to compete with.
Data silos are powerful in single-player contexts.
But they are even more powerful in multi-player contexts.
To switch, you have to convince everyone else not just to move to a new app, but to move to the same new app. A massive coordination problem, even if there's a clear value differential!