Are you saying the public/private keys are only taking away the pain of having to enter passwords each time one logs in? I thought that these keys provide unbreachable security that simple SFTP does not. No?
ssh (sftp, scp) provides a secure encrypted end-to-end connection, no matter how you establish it.
One of the big differences between using your password and public/private keys is that the keys are 512 bits (or 1204 bits, or longer). You would need a 64 character password to equal 512bits. Most people that have to enter passwords on a regular basis tend create passwords that are easy to remember and type, not long and difficult to guess (your mileage may vary).
So using keys to login means you can choose a difficult password, or even configure the ssh daemon to ONLY accept keys, and thus make it more difficult for someone to break into the remote system.
If you write shell scripts to automate things (like I do), using keys means I can make secure connections without needing to enter passwords. This allows some of the scripts to run over night or as the result of some event that occurs when I'm not around.
On the other hand, I have to make sure I maintain control over my keys, especially my
private key. If someone gets that key, they can pretend to be me.