Obviously, I'm a bit prejudice on the matter, but you really should find a reputable agent that you can work with. Like any other small businessman (such as an accountant, auto mechanic, dentist, etc), they will work hard to assist you in any way they can because they want your repeat business and your referrals. A cruise specialist has been there done that, so they can offer first-hand information to help answer all your questions and help you through the process. This is especially important for first-time cruisers.
CLIA (the Cruise Lines International Association), that we all belong to, once put out some information they gathered. They said they found that more than 95% of the time when you call the cruise line or one of these large online sites, you're talking to someone who; 1) works in a call center, 2) has worked for the company less than 6 months, 3) is not a certified travel agent, and 4) has never been on a cruise or to any of the ports. So they are there to sell you something, not to provide any service and with their lack of knowledge, they can't answer many of your questions.
Yes, there are many people who will report they've had no problems with booking directly with the cruise line or these large online sites. But there are also many others who will tell you about problems they had, especially when calling with a question and finding the agent they were using is not available, has left the company, or is always in a hurry. It's when you have any problems that a good agent is worth their weight in gold. They work for you and will work hard to help get the problem resolved as they have contact information not available to you.
As I said, I'm obviously prejudice on the matter, but having done this for a long time and knowing all the ins and outs that I know now, if I weren't in the business, I know that without hesitation I would always book with an agent because of what they can and will do for me that these other sources won't.
And one thing I've learned in over 25 years in the travel business before starting my own company 12 years ago, the best price is not always the best deal. Like Warren Buffet said, "Price is what you pay. Value is what you get." To me, service is a big part of value.
Besides, personally whenever possible, I like to support my small business people.