On iOS, apps for cloudbased services tend to leave it up to you what is downloaded to enable offline working. If you have a relatively small amount of data in a service such as Dropbox, we agree it’s silly you can’t tell the app to keep a local copy of it all. A Dropbox account can store much more (1TB) than the most capacious iOS devices, so it makes a compromise.
Apple has started to deal with this more cleverly with iCloud Drive; Sierra can remove files from your Mac if they haven’t been used for a while, but keeps copies in iCloud in case you need them; they look like they’re where you stored them on your Mac, though, and are downloaded if you try to open them.
We hope that intelligent analysis of file usage gets easier for developers to use, so that third-party apps can easily implement behaviour similar to iCloud Drive’s on Sierra. Without that, sadly we’re reliant on our chosen services building similar behaviour – or a convenience such as a ‘keep a local copy of everything’ switch – in to their own apps from scratch. Features like these are another thing, besides price and capacity, to consider when you’re picking a cloud service to use.