Check out this article from The LA Times.

You should ALWAYS book a cruise through a travel agent. The promotions and pricing change constantly. I spend hours on the phone getting price adjustments and upgrades for my clients. Plus - it's difficult to sort through all the options. Some cruise ships have 10 different categories of balcony cabins - what's the difference? Which one is right for you?