Not only will they get everything the cruise line is promising, but often can offer more. Plus, they'll look after you, so should the price of the cruise go down, they'll get the reduction for you.
Never book directly with the cruise line, because if you have any problems, who do you think they represent? And never book with these big online sites; their people aren't certified travel agents, work in a call center, and are only there to sell you something. They won't tell you if the price goes down and many times, they charge fees for booking, changing, or cancelling, whereas your agent won't charge you any fees. So it makes sense to utilize their expertise and let them help you find the best deal.
And lastly, your agent may have access to group space, which can affect the price and/or amenities being offered.
Hope this helps.
__________________ Travel Agent/Cruise Specialist w/15 yrs exp and 50 Cruises on 12 different cruise lines in many parts of the world! VIETNAM VETERAN OWNED & OPERATED. Certified Accessible Travel Advocate. Specializing in unsurpassed personal service to insure you have a hassle-free vacation!
I fully agree about working with an agent, for the best deal available at the time you book.
But in my experience, the people with "the highest onboard credit" are usually people who paid more for their cruise. Cruise lines offer different combinations of advantages at different times; sometimes it is more perks of one kind or another, sometimes it is no perks but a lower base price.