Update September 2008: With WordPress 2.6 +, image captions are built into the core image/media manager so no more need for plugins! Also, the video directly below is using WP 2.6.1 and the new media manager, its upload, editing, alignment, and caption function — all built into the core now.

Previously, I used Image Manager and a caption plugin. Screencast WordPress tutorial on that is over here.