Well, it depends on how often they’ll post to their blog or news page, but there’s an easy solution...
In order to eliminate the need to learn something different you can just use TinyMCE’s ability to add custom CSS selectors. Just design the picture blog the way you want it to look (i.e., picture left, description right) then add those selectors to the TinyMCE settings in Tools > Configuration. When the client adds images you just have to teach them to select the image and add the "image" class to it, then to select the text for the description and add the "description" class to it. You’ll have to think through the layout a little bit, but that’s probably the simplest way to do it without having to build something custom. For example, if you floated everything left it would make sure that you had an equal number of images per row with their accompanying descriptions. You’ll probably have to play with it a little bit and tweak it, but it’s a solution I’ve used before that works fine.
Also, depending on your comfort level, you could just have it all done in the image description. When they type in the "title" attribute some Javascript can use that as the caption. So, basically, all they’d be doing is just adding a bunch of images to the page. The JS will grab the "title" attribute and create a caption below the image. It’s a little more work for you, but makes it almost bulletproof for the client. Sorry I don’t have a great example, but here’s what I was getting at:
http://www.channel-ai.com/blog/plugins/image-caption/
You can use that same idea and apply it to all the images the client inserts and have a description that automatically pulls from the title attribute. Hope that helps.