It is historically cheaper to travel during school periods. Sept - Nov (pre-holiday) because it is hurricane season and kids are in school or January and February (non-school vacation period).
Those periods seem to be the best time for prices. They price based on a tiered system for availability of rooms. The farther out you are the better your discount. I have not heard of the discounting to fill a boat. Most cruises are full I believe.