Offline mode adds significant complexity to the service, since you are essentially replicating your entire server side stack (logic, storage, etc) on the client.
Offline mode adds a cost to every new feature, even if it's just deciding if you are going to support said feature offline.
If you're dealing with sensitive data, it also means you need a way to secure that data on the client device.
I'm not saying apps shouldn't have an offline mode, but software engineering resource isn't free and most businesses would need to justify the cost of offline (even if it's just an opportunity cost).
Offline mode adds a cost to every new feature, even if it's just deciding if you are going to support said feature offline.
If you're dealing with sensitive data, it also means you need a way to secure that data on the client device.
I'm not saying apps shouldn't have an offline mode, but software engineering resource isn't free and most businesses would need to justify the cost of offline (even if it's just an opportunity cost).