I always book through a travel agent, either one I found on-line or local, they should always get the same prices as booking directly with the cruiseline. I find nice to be able to talk or e-mail a travel agent with any questions or concerns I may have, most will also check and see if there has been any price reductions.
As for insurance, not sure how it works in Canada, but I feel better having travel insurance, for the price, it gives me a good piece of mind. You have to consider if you do get injured and have to be airlifted to a hospital, most insurance companies don't cover that, and it could run into the thousands, so I'd rather be safe than sorry. Here are a few links to some independent company's that offer travel insurance:
Tuesday Chat Host