rsync is often run from cron, which means it has to walk entire directory trees every time it is run, which is inefficient when it is run often.
Most operating systems offer APIs (such as inotify/fanotify on Linux) that allow programs to be notified of filesystem changes.
To replace rsync in cron jobs, rsync could offer a mode that would register for filesystem change notifications, do a regular sync and then for each filesystem change notification, transfer the changes to the remote end (or local end for a reverse transfer). SIGINT/Ctrl+C or other termination signals could be used to end the continuous sync.
I note that the lsyncd tool can be used to work around this feature being missing from rsync. By default it collates filesystem events over several seconds and then runs rsync to transfer the changes. Giving rsync the ability to do this itself would be more efficient and reduce the sync delay.