I've had luck with BestPriceCruises.com, but you get the best deals if you join their "club." go to
club.bestpricecruises.com and register for free to get access to their best prices. You have to book on the web to get them.
When you find a good price there, run it by
Cruisecompete.com and/or a local travel agent to see if they'll meet or beat it. If not, book it.
I just booked an NCL cruise through BestPriceCruises when I saw a great price and jumped on it, but I didn't run it by other agents to see if they could beat it, and I'm regretting that now. It was a good enough deal that I don't know if they could have beaten it, but always give them the chance. If an agent is hungry enough for the sale, they'll cut their comission for it.