It depends. I have done it all - book direct with the cruise line, through an online TA, brick and mortar TA and a big-box store TA. The situation varies a bit each time, and I choose whatever works best for that particular cruise. Sometimes, the TA can really help in resolving issues. But some other time they can be an unnecessary bottleneck. I will choose to go with a TA (vs. direct) depends on the perk and the type of cruise I go to. Also depends on the cruise line, definitely consider to book onboard to take advantage of reduced deposits and OBC - that is on top of whatever perk you can get from the TA.