5 votesby superuser.com/users/133844written 2017-08-13last updated 2017-08-14
Most differences of the two protocols have already been said in other answers, and more verbosely in https://unix.stackexchange.com/q/8707/19088
Another difference, according to the documentation of curl, is that the SCP protocol is not very portable and usually only works between Unix systems.
By the way, curl implements both protocols and unlike the default OpenSSH SFTP client implementation, it is non-interactive for both SFTP and SCP.
And note that there is also the FISH protocol, which allows you to transfer files via SSH without the need of SCP or SFTP. As far as I know FISH is not very popular, currently implemented in just a few file managers (Midnight Commander and some that are KDE-based) and Lftp.