In this particular case, we had a number of limitations. We wanted a cruise, in July or August, that included Japan, and was 7 nights or longer. To my surprise this quickly narrowed our options down to just a few possible options and once matched with the flight availability, there was really only one option left.
7 Nights on the Sun Princess, leaving from Tokyo and arriving in Hong Kong.
When your dates are not flexible, finding a deal on a cruise can be a pain. Prices do rise and fall similar to airfare, but if you wait too long, you run the risk of your desired cabin type selling out. Luckily, if you are booking far in advance, most cruise lines will either offer some form of a price drop guarantee. Some lines offer onboard credit for the difference right up to the day of departure, some will book you into a higher category for the same price, and others still will reduce your final payment amount if you are more than 90 days out. Each company is very different in their rules on this, but one they tend to stick to is this: If you book with a travel agent or 3rd party, you must go through them to request any price drop or cabin changes". If you did not book direct with the cruise line, don't spend time on hold before talking to the company you booked through.
Generally I never book direct through a cruise line. Why? They rarely offer the best overall deal. They will always match the best advertised price, however, they may not offer the best benefits, bonuses, or perks. It is important to shop around for more than just the best price. If you are a Costco member, I do recommend checking out Costco Travel's deals, they almost always come with onboard credit. On a recent NCL booking, they also added in free soda packages ($30/pp value) even though the promotion had expired.
I also personally make use of American Express Platinum Cruise Benefits. The $450/year Platinum card is not worth getting just for these benefits, but along with the $200 airline credit, I find that we are able to more than break even every year by using these benefits. When booking through Platinum Travel Service (or a travel agent that knows how to call PTS) and paying with your Platinum Card (or any AMEX if you also have a platinum card), you get either onboard credit or category upgrades, along with additional perks like a bottle of wine/champaign, and specialty restaurant fees waived. If you do carry this card, be sure to ask any travel agent you work with if they know how to apply these benefits by calling PTS after booking.
When booking this cruise, I found that there were very few bonus offers available and that my best bet would be to book through American Express travel and get 2x points, a 2 Category Upgrade (higher floor, better location), A bottle of sparkling wine, and dinner at a specialty restaurant. It sounded fine, but I was just not satisfied. I kept digging further looking for some way to get a better deal. Somehow I came across a site called CruiseCompete.com. The site was pretty minimal, and seemed even a little suspicious as to if it was real. All I needed to enter was my email and desired sailing and room type. I figured there was little to lose.
Within a few hours, offers from individual travel agents started to come in. The first few were no better than what I could have found myself, but then a few agents started offering fares $100 or more per person lower than the best rate I could find. We finally selected an agent based in Florida that not only saved us ~$200 per person, but they were also familiar with AMEX PTS and was able to get us all of the same benefits (minus the 2x membership rewards points). After selecting my travel agent I "closed" the request and only get minimal email from cruisecompete, which could easily be unsubscribed from.
I have been happy to see that over the last few months, the publicly advertised price for our cruise has not once come close to the deal we got, and in fact many of the categories have sold out considering this is a 1 time itinerary that is also bookable as a 14 night cruise ending in Singapore. I definitely recommend trying out this service if you are looking into booking a cruise.