I've never bought it before, but for a cruise I wouldn't be without it for two reasons.
First and foremost is medical evacuation. If perhaps one of my five children or my husband or I needed to be life-flighted off the ship that with all the associated travel expenses for a family of seven could easily run into the hundreds of thousands of dollars, and I don't know anyone's health insurance that covers that.
Secondly, no one in your travel party can have any signs of illness for 48 hours before boarding. With five children, the chances of SOMEONE being ill within 48 hours of boarding are very large, I'd say at least 5-10 percent.
The cost of our travel insurance that protects all seven of us from all of this was $79. Pretty good deal if you ask me.
I agree with your two reasons, plus on top of it, if you have to cancel due to someone else in your family (not necessarily in your traveling party), it is covered. My dad got to Cape Canaveral and had a stroke and a heart attack the night before our cruise. My husband took our children on the trip and my mom and I spent the week in Cocoa Beach. The travel insurance covered our week in Cocoa beach, car rental, my parents airfare home (and transportation to the airport). Our cost of the vacation was refunded. Any medical expenses not covered by insurance would have been covered.
Our cost has always been around $80 and I think it is worth it.
We only purchase it for cruises, not for travel in the US.