You don’t have to but, we often use the same agent on CruisesOnly.com. She’s very helpful. they also do last minute cruises too. They have their own rewards program which helps offset some of the costs. We also check vacations to go and Costco travel. We’re not picky, we’ll book with whoever can save us on air, gratuities, and the usual packages. We wait for offers that include prepaid gratuities, airfare (all or part) as well as the onboard package. If we have the option of excluding the onboard package we will. What we save on all those fees and gratuities allows us to have a few nice cocktails and pay for shore excursions.
Kind of off topic but, we also take advantage of the cruise lines membership programs so we try not to jump around with brands too much. (We do have our favorites tho.) After a certain number of cruises, most of the cruise lines offer some nice perks, like priority embarkation/debarkation/tendering, free laundry, water, specialty restaurants, parties and occasionally a bottle of wine.