Caz, There are many times agencies have better rates or promotions available than the cruise lines direct. This is not just CCL but with most lines. There are a lot of reasons this happens and I won't go into all the various senarios. You don't have to cancel your booking to get the rate or promotion you've seen. You can call the agency that has the better offer and verify the details. If it's what you want and indeed a better promotion, simply call CCL and ask them to transfer your booking to that agency, have a name of who you spoke with at that agency so that person knows to expect a fax and how to reach you when they get it. The agency will apply the promotion to your current booking, move it into their group or whatever needs to be done to get the benefits you want and you're all set. Be aware that some online agencies have booking fees (many have no such fees) and other things in the fine print. Be sure to ask about any fees that they may have before transferring the booking.
Princess is one of the lines that is wonderful about checking to see if their rates, onboard credits and other promotions are the best available if you ask them at the time of a booking. If there is an agency out their that has better promos or benefits than they can offer direct, they will refer you right to that agency and tell you how to get the better promo when you call. CCL is not quite so free with such info or at directing you to the best source if asked. They leave it to the client to find the best offer but will transfer it if you do find something better.