.cer - states for Certificate used for storing X.509 sertificate. This certificate contains informations about certificate owner, and also public and private certificate key.
.spc - states for Software Publisher Certificate. This is just different representation of certificate in PKCS #7 format. You can generate spc file from cer file.
.pvk - states for private key and is a private key from sertificate. you can extract the private key from certificate .cer file. Also you can create a certificate based on .pvk private key file.
also file extension used with prevous ones is .ctl and this is certificate trusted list. About pfx, i didn't know what it is, but i serached and it stands for personal exchange format. .pfx file can be created from .cer or .spc file and .pvk file. Here is the link about .pfx http://msdn2.microsoft.com/en-us/library/aa906334.aspx
Prevous file types are conected with singing assembly (ActiveX control mostly) that you want to use on Internet Explorer and here is a starting link that can show you some more info: