Consumer Reports says that for one's first time, it is best to use an agent, so I tried to. I went to some cruise agents association website and got names and numbers of "certified" staff who had undergone rigorous training. I had set my sights on the Royal Carribean Voyager of the Seas or a carnival 7 day.
So I called my certified agents. At AAA, the certified staff were gone and the woman who helped me was rude and never called me back. The next agent was very professional and nice, but, she told me the Voyager was sold out and gave me a price of about $1500 for Carnival Victory.
I had an inkling to call Royal Carribean myself and a rep said that there were several staterooms available for $1750. Then I told him that I had been dealing with an agent and he confirmed that what the local agent had told me was untrue.
So, then I researched it and through Anne Campbell, an authority on cruises, found out that there's one major company that does most of the work for these websites. It's a big company run out of new york, 24/7, with over 1,000 employees. I tried to book online and it kept getting all messed up. Icruise.com was my favorite, but they kept having an error message and saying airfare couldn't be included. So then I went to book airfare myself, and that was very, very complicated unless I didn't care about departure and arrival times. If I had booked online, I would have paid about $1600. As it turns out, I called the help number for cruises.com, and they were very helpful. It was that big company. They do many other websites--they outsource it to this big company. The big company works out very good rates, but still it was about $1100 with no airfare.
So, finally, I called carnival and booked directly. They were extremely helpful and interested, much moreso than the local agents. I ended up getting my cruise for $1300 including airfare, transfers, and an extra nights hotel stay afterwards.
My advice, therefore, is to book with whoever can help you immediately over the phone (local agents like to do the call back thing due to their lack of connectivity) and who is polite and can give you the best rate. Be sure to call the line directly. If I hadn't, I'd have spent $300 more and had much more hassle.