After talking directly with all of the major cruise lines fairly often i have almost always been able to get a better rate or cabin or "perk" by using a TA that specializes in crusing or does a large volume of cruise bookings and gets "special discounts" or special rates because of the $ amount of bookings with the cruise company.
Its nice to have the TA work for you and be your advocate with the cruise line.
Lets face it, they have more pull with the cruise line than just one passenger booking one cabin for one sailing.....
Some cruise lines are O.K. to work direct with, but some don't like working directly with the consumer..... and you can really tell when you speak with them.
The first question is if you are an agent, as soon as they find out not, the tone of the conversation seems to be less helpful.(this has been my experience on Celebrity. RCCL.NCL Princess and Cunard)