what is the difference between various keys in public key encryption

key.pem can contain anything - a certificate with a public key, an SSH public key, public key + private key, certificate with a public key + private key. PEM is a text file so you can open it in notepad and check its contents.

id_rsa is an SSH private key in OpenSSH format. id_rsa.pub is an SSH public key in OpenSSH format.

.ppk file is Putty's private key (if memory serves).

To authenticate on remote server you give its admins your public key and use the private key in your SSH client. Alternatively (if admins give you the key pair), you use the private key from that keypair.