There are a number of reasons "not" to book directly through the cruise line.
1. An agent works for you and not the cruise line. If there are problems they will work to resolve them and go to bat for you. A cruise line agent will only go so far and remember they work for the cruise line not you.
2. Many cruise line agents are nothing more than order takers. They have never been on a cruise and can only answer questions with answers on their database.
3. A travel agent can give you added benefits that you cannot receive from the cruise line. i.e. pre-paid gratuities, on-board credit, a bottle of wine or insurance.
4. A travel agent will work with you to book a cruise that is right for you. A cruise line agent just wants you to book a cruise and the options are limited to their cruise line.
The "trick" is to find a travel agent that specializes in cruises, has the experience to know how to work with the client and the cruise line. Look for someone who has been in business for a number of years: Has at least a MCC (Master Cruise Consultant) certification and responds to your questions in a timely manner. The sad part is that there are a number of agents who are not professionals. These people give the rest a bad name.