With the internet, the first rule is: you look everywhere! I find that once I see a cruise I want, the price is the same on each website whether it's expedia, travelocity, cruise.com, priceline, or the cruise company's home page. I do find, though, that different sites offer different bonuses for booking through them. The cruise company offers nothing. Some sites offer free gratuities (worth 10-12 or 15 bucks a day per person, so not trivial), some offer a free hotel night, some offer credits to your onboard account. So once you pick your cruise, look around. If all else fails, booking through your favorte airline will get you miles. Booking through the cruise ocmpany gets you nothing, at least that I know of. Maybe if you book early enough you can get price adjustments of you book through the cruise, or a travel agent, and maybe not if through the online services. I don't know about that.
For browsing, if it's the mainline companies you are interested in, I actually like priceline. The serch engine is fine, but the nice thing is you can pick the cheapest cabin type in the category you want, and it lists the cost to upgrade to each higher category. It brings up the ships map and nicely highlights which cabins in that category are available. Then you click "for +$20 you can go up a category" and it shows the map of those categories -- you can click through all the way to suites. Other sites make you backtrack and re-enter each category, and many dont highlight the available cabins -- they give you a map of the ship and the room numbers that are available, and you have to squint to find where each one is. Ugh.