There are two main differences between rsync and scp.
Before a file is transferred rsync takes the checksums of the file
(MD5 and adler-32 I believe) and sends them to the receiver.
After a file is transferred the receiver verifies
the data integrity using those checksums.
scp does not have such mechanism. scp uses ssh to transfer the data and although
ssh uses checksums on the packet level that's a different story
Another difference is what happens during a transfer retry,
While scp will ignore any partially transferred set of files and
overwrite them on the receiving end,
but rsync is more clever than that. Rsync will check the destination for any
files present and if their signature matches that of the files on the
sender side it will not retransmit these files.
It might be possible to overwrite this behavior.