Since you have time, shop the cruise line for dates and prices, then compare with internet sites and call a travel agent. It's hard to "know" if you get the best prices as their prices change a lot. I have used the cruise line agent for booking for a while now. My in laws use a travel agent and they are happy. My brother in law used a company that follows the prices and refunded them a few bucks as the price went down. They also got a ship credit or something by using a website. If you find a price you are happy with, then that is what really matters.

Also, there is/may be a fuel surcharge fee. There will be an * item on the bill, "If oil goes above $XX.XX/Barrel, then we will charge an extra amount". I have not had to pay that on a cruise, but if you book now and oil is $150/barrel in Aug, you can guess there will be a fee for that.