Never pay retail for a cruise, there are far too many discounts out there. You can DIY online, or you can look for agencies that specialize in cruising, not just general travel agencies. These agents love to cruise and will know about how to get the best deals. They often will have first-hand experience going to your destination and are very aware of all the shipboard credits, free tipping, booking discounts, and other add-ons that the cruise lines will offer to win your business.
Travel agencies, particularly those who specialize in cruise travel, will sometimes negotiate special deals with cruise lines for particular sailings or will book their own blocks of cabins and resell them at discounted rates. They can be very good sources of deals, and they will often specialize in particular lines or itineraries. It can be worth calling around to see what deals these agents have. They are often highly knowledgable about the ships, the accommodations, the food and the onboard amenities - cruise lines provide lots of familiarization opportunities to the industry. Their commissions are paid by the cruise lines, not by you so it's a win-win.