Also, what is the difference between pscp, psftp and scp, sftp?
I'm guessing PuTTY is originally made for Windows which doesn't have these commands by default, am I right?
If that's the case, why would anyone use PuTTY on Linux?
PuTTY is a terminal emulator (able to run shells, which in turn run commands), while the usual SSH application is a shell (not a terminal emulator). PuTTY has been ported to Unix (and Unix-like) systems as
scp is a special case: a program use for copying a few files via an
ssh connection. PuTTY on Windows has a similar program, but there's no need for that in the Unix port.
psftp...) would be analogous to
ftp: specialized programs used for copying many files.
Their usefulness depends on what you need to do: some use
scp far more often than
sftp, and vice versa.
sshis a command line SSH client. There is a port for Windows named OpenSSH for Windows.
scpis a specialized program to copy files via SCP.
pscpis a port from the PuTTY suite with the same purpose.
sftpis an interactive command line program to manage files via SFTP. It allows copying, deleting and listing of files similarly to the command line tool
psftpis again a port from the PuTTY suite with the same purpose.
PuTTY combines multiple features (customizable terminal emulation, remote connection, serial port access, etc.) that are usually separated on Linux/Unix because Windows by default only includes a limited "terminal emulator", the command prompt window. Another reason was, as you suspected, that Windows doesn't have
ssh by default.
There are multiple terminal emulators on Linux that work well with
ssh, so there is no real need for PuTTY on Linux.
The main reasons to use PuTTY on Linux would be its session management, the customization features that help talking to machines with bugs and/or unusual terminal settings (character set, key bindings, etc.) and the feature to also access serial ports.
putty - A software used to connect servers with protocol's like ssh ftp
ssh - A protocol used to connect the server through port 22.