BMP vs JPG vs PNG vs GIF

- BMP: No advantage at all.
- JPG: Good for photos; a bit smoothness and quality loss usually doesn't really hurt.
- PNG: Pretty much always the best format, except for photos.
- GIF: Animations are possible with this format, but images are of low quality.

Testimage of 1920x1080 pixels:
In late 2009, 10% of the Netherlands had a 'smallband' connection. According to Wikipedia that's 32 KB/s, but I'd rather estimate between 50 to 100 KB/s. Loading times are based on 150KB/s.
BMP: 6 MB, 38.9 seconds downloading time.
JPG: 466 KB (0.455 MB), 3.1 seconds downloading time.
PNG: 1.7 MB, 11.6 seconds downloading time.
GIF: 333 KB (0.325 MB), 2.2 seconds downloading time.

Of course it matters what you want to display. If small text (Times New Roman, 8pt) has to be readable on a big image, PNG or BMP is a must. Photos of flowers or images with many transitions usually don't have to be that sharp, so then JPG would be good enough (unless you want to modify the images later, then PNG is a must).
Also PNG is the only format supporting transparency, so you can 'see through' the image. For example Google's logo (on is a transparent image; the white spaces you see are actually the page background and not the image.

In short: I'd always go for PNG. You don't have to think about anything anymore; the format is as small as possible but doesn't loose any quality, and it's prefectly editable and usable later.
By the way, BMP images load from the bottom, and JPG/GIF/PNG images always load from the top. This may be another disadvantage of BMP since the top of an image usually contains what you want to see first.

To see the loading speed for yourself here, this is the test image in all formats (click to enlarge):




This, by the way, are graphical representations I made of my mouse movements over the course of about 4 hours. It's not incredibly important, but still nice to see the lines exactly. Perhaps JPG may be better in this case, but for quality preservation I'd still use PNG. You can always buy more disk space, but never get lost quality back. The GIF-image is actually fairly alright in this case, but still looks rather dotted (or 'grainy').