In addition to what NetDevil said:
.jpg is a 'lossy' image format. It makes for images that use less disk-space, but as the compression gets higher you start seeing a certain 'blockiness' to the image.
.png and .psd are both 'lossless' image formats. That means they dont lose any quality when they're compressed. But as a result, the images use quite a bit more space on disk. You should use these formats if you want to take the image into another program to do more editing on it, or adjust it for better print output.
.bmp is an uncompressed format, and you should avoid it unless you really need to get your picture into another application that only supports .bmp
.jpg is best for EMail and showing on the web because of its smaller data size.
.png and .psd are best if you want to do something with the image on your local machine.
AndyRage's mantra for graphics engine code:
"Sure - how hard can it be?"