For those times when you have a remote directory you want to sync, the server can’t run git/mercurial, and making a load of connections to upload individual files is tedious: in other words, when you have a website you want to automatically sync with a commercial webhost.

See also: my site’s upload script