Early being the cheapest was the case for a long time. Then after 9/11 it swung the other direction as cruiselines were discounting cabins heavily just prior to the sail date to fill the ship. Shortly after that it seemed to be all over the place as the cruiselines were trying to get out of the "heavily discounted just prior to sail date" arena and return to their pre-9/11 formula. From what I'm seeing now, passenger volume is WAY UP (estimated to be 30% higher), so I would book as early as possible and keep watching the rates as you approach the sail date.
In the end, it's like the airlines somewhat. Its all about capacity planning. If there is a lot of unfilled capacity on the ship, they will discount to fill the ship. If the capacity is low, the price goes up.
We always wait till ~ 1 month before the sail date. Keep an eye out but be aware that prices usually drop closer to the sail date. Of course this year things have been going a weird on the Cruise deals so ya never know!
My TA tells me that the days of great deals shortly before sailings are over. From watching the prices over the last year, I'd tend to agree. I booked early for both of my cruises and watched the prices rise as it got closer to sailing on both.
Plus, if you book early you have that much more time to get excited!
CarnivalSensation February 2015
Carnival Dream November 2015
Carnival Fascination April 2014
Carnival Elation March 2011
Carnival Imagination Sept 2007
Carnival Sensation Dec 2006
RCI Sovereign of the Seas Sept 2006
Carnival Miracle Sept 2005
Carnival Glory Sept 2004
Carnival Fantasy Jan 2004
Price wise, I have found the best deals the last week of Nov and the first two weeks of Dec. Also the first week in Jan. There are good prices in Sep, Oct and Nov but you run the risk of hurricanes interrupting your cruise. Early Dec and Jan have fewer kids too. Guess most folks don't want to cruise just before or just after the holidays.
It's hard to know what to attribute that to, though, because load-levels are so high. In a way, the reason why you aren't finding as many or as generous last-minute deals, now, may be because the product have been comparatively underpriced.
I always book early as early as 1 year or 1 1/2 years in advance. Because I want to pick my cabin on an upper deck.
She also told me you get the better prices the earlier you book, not the last minute.
My agent has a website and I go in and check all the weeks and the prices. I always cruise the week before Xmas. You can get some great prices at this time. I won't cruise during hurricane season, too hot in the Caribbean and the weather is real iffy.
Here's an example of a early price I got by booking last year:
Millenium 7-days eastern caribbean R/T Ft. Lauderdale on Jan 2, 2005, inside cabin Cat 9 for $519 pp or $74 a day. This cruise is close to sold out as of today.
Check out some websites that list all the weeks for the ship you want and compare the prices per week. Then choose from there the category you are interested in.
We always book early too, currently we're booked through March 2006. We do this in large part because of work and vacation schedules. Due to seniority, work responsabilities, etc, we must put in our vacation schedules by January 15th. Once submitted that's pretty much it. Unless there is an emergency like a death in the family or illness, that's our vacation time and it can't be changed. So booking at the last minute is not an option.