Let me try to explain this.
It is good to use a Travel/Cruise Agent to look after you. At the same time they all have access to current cruise rates, so keep an eye on them as they do work for commission.
An Agent cannot get you a cheaper rate than Carnival offers to the public. They may not book you on that rate, but it is available if applicable to you.
You can change your rate up untill the final payment date.
Example, I am booked on a Past Guest rate with an upgrade. If they add a Resident rate or a Sale that is lower I can change to that.
It is against Carnival Policy for cruises to be discounted lower than available rates unless is a charter.
The best rates are for Military, Senior, and Resident. They do offer last minute rates, but you can't book those much ahead of time.
Hope this helps, best way is to keep up with what is being offered for you.