Anyone that knows me can tell you that I'm an advocate of weapons training, which makes what I'm about to say next seem rather contradictory, but all in all makes perfect sense:
Believe it or not, your weapon can actually hinder your overall self-defense skills.
Before everyone starts cussing me out, consider this...how many of us in the martial arts have been told something like this from someone who doesn't train in the arts: "I don't need any of that kung fu mess because all I need to do is pull the trigger on my gun." Don't get me wrong; a gun can stop any one from a white belt to a 10th-dan grandmaster to Bruce Lee any day. What I'm getting at is being overconfident and depending too much on that gun (any weapon for that matter) to defend yourself. For a perfect example, you can look at any good knife training class. They spend countless hours working on things other than knife attacks themselves.
With a knife (or any weapon), it is typically concealed in a sheath, in a pocket, or somewhere in which you have to actually get to it in order to use it. In a worst-case scenario, you may not be able to pull your knife out, or if you manage to get it out, it doesn't open. The same thing with a gun: you have to get it out first, and it just may not fire for whatever reason (jammed, safety still on, improper cleaning, etc.).
In the event any of these scenarios occur, you'd have to fall back on empty-handed self defense, right?