I always book through a travel agent. I do my own research and when I am ready I call and let them do my booking. I always get a better deal than the cruise line would give. Some agents by blocks of rooms at a discounted price, others give onboard credit. My April 4th cruise that I just came back from, I had 250$ onboard credit.