There are many reasons why using Realm sync is useful for connecting clients and using it as a client/server communication methodology:
E.g. with Realm the sync protocol capability is baked into the database itself. This ensures high performance, makes clients more light-weight and most of all removes the overhead of object mapping, integration layers and handling disparate implementations across client and server platforms.
Objects in Realm Database have a auto-updating property, which is appreciated by many client developers. With Realm sync this automatically extends across devices. A update one one device gets synced to the native object in another - automatically. With a notification being available to the event change - or if a view is attached to the object the view will update automatically. Who needs push?
Having multiple clients work with the same data is always a challenge. Realm integrates sophisticated merge and conflict resolution that satisfies even complex use cases.
Why offline thinking matters REST is in many cases the default mechanism to communicate between client and servers. REST is often used with the assumption that the network is reliable. This is not the case for mobile apps where either the wireless network drops or the app is unexpectedly shut down by the OS. Thus most of the REST development work is based on handling the exception cases where client/server communication fails. This leads to stuck apps, strange states and causing grief for users and lots of grey hair for engineers. Realm sync is based on the assumption that communication will be interrupted at any time and that it will resume automatically and gracefully.