Obviously, I'm prejudiced on the matter, but you should always book with an agent. They don't charge any fees, their prices will be the same or sometimes lower, but most importantly, they work for you. Should you have any problems and booked directly with the cruise line, who do you think they represent? An agent has resources not available to you and their help can be invaluable. Plus, they are familiar with all the cruise lines, so they can provide information an options that calling one cruise line won't provide. And lastly, when calling the cruise line, you're talking to someone who; 1) works in a call center, 2) is not a certified travel agent, 3) has worked for the company for less than 6 months, and 4) has never been on a cruise. So they have absolutely nothing to offer other than to sell you something. If you're going to pay the same rate or less, it always makes sense to do business with someone who wants to work for you and make you happy. After all, it's like any other small business, they want you to use them again and they want you to refer them to your family and friends.
But back to the matter of travel insurance, some of those sold by the cruise line won't reimburse you for any of your other out-of-pocket expenses unless booked through the cruise line. So if you booked independent airfare, it may not be covered. Just another reason why independent insurance is better. But as was said earlier, that's why it's always best to talk to an agent and to make sure you're getting something that covers everything you need to protect.
As as example, Carnival's policy, which is now underwritten by Stonebridge Casualty, has one paragraph you need to be very aware of;
Carnival will not waive their cancellation fee and provide a cash refund, should you cancel or interrupt your cruise vacation for any of the following reasons: a condition that first presents, worsens, becomes acute, or has symptoms causing a person to seek diagnosis, care or treatment, or prompts a change in medication, during the 60 days before the Cancellation Fee Waiver Program is purchased.
So, if you got sick 6 weeks before you purchased the insurance, then got sick again from the same thing after purchasing it and needed to cancel, it would not be covered.
A policy we sell does not have this caveat. This is why it's so very important to read the policy beforehand because all of them are different. Theirs only covers up to $30,000 for evacuation. Sounds like alot, but my son was in an automobile accident and had to be taken by helicopter to a trauma center about 15 miles away. Cost was $13,000. You can imagine if you're in an area not covered by the Coast Guard how much that cost may be and all of a sudden, $30k doesn't sound like much. Ours, as an example, is $1million. Obviously, a little overkill, but better to have more than you need than not enough.
Anyway, if I can impress one thing about travel insurance it's to talk to someone who knows about what they're selling, get a copy of the policy and read it carefully, and if you have any specific questions, don't hesitate to call the insurance company. But do not base your decision totally on how much it costs because that can end up costing you alot in the end.