
It depends. If you are very flexible and the type of traveler who is not concerned about a getting a choice itinerary, sailing date, cabin or cabin location or the best rate, then yes, you can certainly wait. One may find a last minute "deal", but be careful as they aren't always what they first appear to be. Generally speaking the best rates are going to be further out, not closer in.
Cruising (large ocean, small ships and river) has grown in popularity over the past few years. Additional capacity has been added as travelers are discovering the great value, thus fueling the growth of this industry. Alaska, the Caribbean and Europe are still popular, and Asia and Australia markets are exploding with interest. Experienced North American travelers are seeking new and unique journeys, and these regions offer plenty for those looking for new adventures. Major cruise lines are responding with additional and/or unique itineraries to keep things interesting.
All that being said, another major reason to book early is that markets outside of North America are discovering the value of cruising. Cruise lines are actively marketing in these regions, and interest is really growing. Personally I find this exciting, being able to meet more people from other countries. It makes the trip that much more enriching. But it also means more competition, if you will, for the same itineraries, cabins, etc. This is especially true for small ship itineraries. On my last river cruise we had a large group from Canada, another group from Australia and yet another one from Singapore.
This shift has had an impact on booking times. In the US, most of us are accustomed to planning our vacations less than a year out. Not so in other parts of the world. For example, Australians often book 1-2 years out. They have to travel quite a distance and thus tend to take more time for their vacations. They plan 1-2 years out to ensure they get their first choices. Many Europeans do the same.
Suggested time frames for most small ship cruises is a minimum 9 months, preferably one year in advance. Keep in mind river cruises have fewer than 200 passengers, and most small ships have under 500 passengers, so popular sailings fill up quickly. If you are going with a group, this extends out to 15-18 months, possibly longer. Holiday sailings should be booked 12-18 months out. Large ocean cruises can be booked with less time, 6-12 months, unless you are going on a holiday (suggest 12-15 months). Again, with groups, one should look to book 15-8 months out. Even world cruises are being sold out shortly after being announced.
In summary, yes, one can certainly wait to book, but savvy travelers are booking their cruise vacations earlier and earlier to ensure getting their vacations of choice and at the best rates.