WordPress itself.
I'm custom building something that does that right now. Basically I'm just creating an options page which allows the user to manually enter a URL and an image (I forgot the description - thanks for reminding me :) ). The specific pages those images need to be used on will have the_content() unhooked and a series of images displayed based on what they input into those boxes.
If that sounds like something you could use I'm happy to send through the source once I'm done, although what I'm creating is VERY specific to the one site I'm building it for so you would need to figure out how it all works and adapt it to your own needs.
I don't know of any plugins suitable for this otherwise I'd probably be using one already :)
I was hoping to use the built in gallery system for this particular setup, but I also needed to add support for YouTube videos as well as images and that isn't possible with the
WP gallery system :(