It used to be a given that if you waited until the last minute to book a cruise, you'd often get the best rate. Cruise lines know they'll lose money if they sail with empty cabins, so they are eager to get passengers aboard.
This is still true, and you can get excellent rates by booking a last minute cruise, but you have the poorest choice in cabins, since all the best ones have naturally been taken. It can also be tough to get a last minute airfare deal. Oh, and those who book last also are last in line when it comes to getting cabin upgrades.
Also, though you can get a good rate, you're not likely getting the best rate when you book at the last minute.
In fact, the people who book as soon as the cruise becomes available (those who reserve the first 20%-40% of the cabins) usually get the best rates of all.
Most cruise lines even have policies these days that would require them to go back and issue discounts to passengers previously booked if they slashed their prices drastically at the last minute.
So, while it's certainly possible to find a good deal if you can travel on a whim and leave at the last minute, you're actually better rewarded by booking early.