I don't recommend an online service for the same reason I don't recommend booking directly with the cruise line. There was a study once done and they said that when you call the cruise line or one of these online sites, you're talking to someone who: 1) works in a call center; 2) is not a certified travel agent; 3) has worked in the cruise business for less than 6 months; and 4) has never been on a cruise or to any of the ports. So, their knowledge and experience is limited to selling not sailing. They usually don't even look at a deck plan to see where your cabin is and you could end up in an undesirable location. Plus, they often don't spend any time explaining all the details to help make your vacation hassle-free.
Being a small business owner, I'm obviously prejudice on the matter, but a reputable agent will look after you because they want you happy and want you to use them again. To them, you're not a number. When you're talking to a perspective agent, ask them alot of questions; how long have they been in business, how many cruises have they been on, where have they visited, etc. Are they a Cruise Specialist or just a general travel agent? Are they an independent agent or do they belong to a national consortium? Check out their website - is it professional looking? Are they available when you need them? Do they respond quickly to your calls or emails? Keep in mind a good agent doesn't have to be local. I have clients all over the world and most of them I've never met and with some of my international clients, I've never even talked to them. I have one couple in So. Africa that has been with me for more than 8 years, book 2 cruises a year with me, and I've only talked to them once.
But it really is important to find someone you feel comfortable with that you can build a good working relationship with. Sort of like finding a good auto mechanic, doctor, or any other professional.