There’s a file on my desktop that I’ve moved four times in two years. Not because I needed it in a different folder - because the app that created it changed its sync policy, the folder stopped appearing on another device, or the service quietly restructured how it organizes storage. The file still exists. It just doesn’t reliably live anywhere.
This is the part of cloud sync that the marketing never covered. Dropbox, iCloud Drive, OneDrive, and Google Drive all made the same promise in slightly different language: your files will always be there, on any device, without thinking about it. What they delivered is something messier - a system where the file exists in multiple states simultaneously, where “available offline” means something different in every client, and where the folder structure you built three years ago may or may not survive an app update.
The Problem Isn’t Storage - It’s Ownership
iCloud Drive is the most instructive example because it’s the one most people can’t opt out of. On macOS, iCloud Documents integration is on by default, which means files in your Documents folder are technically on Apple’s servers, locally cached on a schedule you don’t fully control, and subject to eviction from your local disk when storage gets tight. Apple calls this “Optimize Mac Storage.” What it actually means is that your file might not be on your Mac.

This isn’t a bug. It’s the design. The cloud model works best when nobody thinks too hard about where things are. The moment you need a file on a plane, or your sync client crashes during a write, or you switch services and the export tool garbles your folder hierarchy - that’s when you discover the abstraction was load-bearing.
Nobody’s Building for the Edge Cases
The engineers working on these systems are not oblivious to this. Conflict resolution, delta sync, selective sync - these are hard problems that the major providers have put real work into. But the products are still designed around the happy path: one user, consistent connectivity, no migrations.
Power users have always patched around this with tools like rsync, Syncthing, or Resilio Sync. That’s fine, but it’s also a tell. When the workaround has been around longer than the mainstream solution, something in the mainstream solution isn’t working.
The deeper issue is that “the cloud” was supposed to be an upgrade to the filesystem, and it mostly ended up being a layer on top of one - inheriting all the fragility and adding new dependencies. Whether there’s a cleaner model waiting to be built, or whether we’ve just accepted this as the cost of convenience, isn’t really clear yet.