Rsync sends only changed data. If you've updated a large file, only the changes will be sent (very fast). It can restart a partially sent file from where it left off (--partial); scp and sftp cannot. It can use compression on low bandwidth connections (--compress), for compressible data; scp and sftp cannot. You can limit your bandwidth consumption (--bwlimit), so you don;t monopolize a machine; scp and sftp cannot. It performs its own checksum to insure that data is transferred correctly; scp and sftp rely on the TCP checking, which can have problems on high error rate facilities. It can recursively transfer directory trees (--recursive); sftp cannot. It can copy file attributes (permissions, times, etc.); scp and sftp do not. It can keep local and remote directories synchronized; scp and sftp cannot. Many more reasons.
In short, there are lots of reasons rsync is the best way.
It's a very useful tool to learn to use.