For a cruise during a holiday or other peak sailing time, I think you are better off to put a deposit down ASAP. Some of those sailings sell out completely well before final payment is due. The reality is, most people travel when schools are on break. That makes the demand be very high during these times.
If you are willing to be a little flexible, waiting is definitely an option. Some of the best prices I have ever seen were within 30 days of sail date. Odds are you won't have your choice of cabin but you could sail for under $50 per person per day so I wouldn't care in the least. I've seen as low as $199 per person for 7 days. It's all a matter of supply and demand.
I always go with: When you find a price you are comfortable with, BOOK IT! There's nothing worse than settling on a cruise and waiting for the better price to come along only to find it sold out.