Existem duas diferenças principais (que eu posso pensar) entre o rsync e o scp.
Antes de um arquivo ser transferido, o rsync pega as somas de verificação do arquivo (MD5 e adler-32, eu acredito) e as envia para o receptor. Depois que um arquivo é transferido, o receptor verifica a integridade dos dados usando essas somas de verificação. O scp não possui esse mecanismo. O scp usa o ssh para transferir os dados e, embora o ssh use somas de verificação no nível do pacote, essa é uma história diferente (acredito que o comportamento padrão do rsync é também usar o ssh para transferências).
Outra diferença é o que acontece durante uma nova tentativa de transferência. Enquanto scp irá ignorar qualquer conjunto de arquivos parcialmente transferidos e sobrescrevê-los na extremidade de recepção, o rsync é mais inteligente que isso. O Rsync verificará o destino de todos os arquivos presentes e, se a assinatura deles corresponder à dos arquivos no lado do remetente, ele não retransmitirá esses arquivos. Pode ser possível substituir esse comportamento, mas não tenho certeza absoluta.
aplausos n