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).