As I said in my post, cruise line marketing strategies and pricing defy generalizations... there are too many anecdotal events. Having said that, I would say that, overall, you are always better booking well in advance than waiting for last minute deals.
If you need to fly to the ship... or get time off from work... or get the kids taken care of... or if you have special needs on board, then waiting for the last minute may not be an option. Also, if you cruise as a vacation once or twice a year... and spend a good deal of money in the process, then you may want the comfort and security of knowing (1)that you are actually booked and will be sailing (2) that you are in the cabin or category in which you will be happy (3) that if the price does drop prior to the cancellation period you will get the lower price (thereby having the best of both worlds!).