In Canada, the bulk of robberies are done with knives instead of guns. Problem is, you don't know what the perp has until you see him, and there's a good chance he'll also see you at that point. So it's difficult to know how to defend here. I would choose a CCW to defend in a home invasion, but cannot obtain one because I am not licensed for CCW. Bit of a pickle.
Looking beyond survival and strictly at Canadian law, I feel it's more advantageous to improvise a weapon than to have something obvious on hand. I feel safer telling a LEO that I grabbed something nearby (like the fire extinguisher) than telling him I unloaded a few rounds of buckshot into the perp, or that I came out with my 18" machete. The latter instills no compassion and makes it harder to present one's self as the defendant. Not wise imho.