Often, the best way to approach a self-defense tool system is a layered approach. Different levels give you different options.
Combining a knife, gun, and perhaps, pepper spray gives you the option of different levels of force for you to use.
Here are a few advantages that a knife offers:
1. They're quiet; using one won't wake the entire neighborhood.
2. They don't need reloading like a pistol.
3. As was already pointed out, you won't kill three innocent pedestrians a block down the street if you miss, like you could with a firearm.
4. Using a knife allows you to choose the level of lethality that you apply.
What am I basing my opinions on? Fourteen years as a law enforcement officer working inside the nation's fourth largest prison.
I've witnessed dozens of knife attacks, and been involved in several myself. Unfortunately for me, I've been there, done that when it comes to knife attacks. I have a very good grasp at what works and what does not.
I've seen the aftermath of more knife attacks than I can recall, and I've also seen people killed with knives. I've come very close to being stabbed/cut myself on numerous occasions.
I'd suggest that you get some quality training, expand your mind a bit (or, in your case, a LOT), and talk to some people who've done it for real.
Sniper -- One Shot, One Kill Email: ST8PEN01@aol.com