Well since this is kind of my area of expertise (Martial Arts instructor since the 1980's.) Here goes:
One of the keys to not getting hit/robbed/etc. is to manage the distance between you and the aggressor.
There are different "tools" to accomplish this.
The most important self defense tools you have in my opinion and experience are, awareness, your attitude, being realistic in your physical abilities, and the proper use of any tool(s) you carry. Non lethal self-defense is the best way to go if at all possible. You can still get sued for somebody's nose being broken, etc, etc. but it's not as bad as shooting or knifing a person(s).
I'm 65 years old and unless you witnessed me teaching a karate class(I only teach adults and mostly private lessons) a cane would not seem out of place in my hand. So a cane is a good tool. If you learn how to use one properly it has lots of uses. I sometimes use mine for aggressive stray dogs, single old ladies who won't leave me alone when I tell them I didn't want to bake cookies with them naked...
Pepper spray can be useful in the right environment. I have been sprayed with pepper spray many times. I had to go through Pepper Spray training in bodyguard school. I also got pepper sprayed when I went through Reserve Deputy training in Arkansas. (I'm back in Texas now.). I have also experienced "back splash". That's where somebody else deploys pepper spray and you get some of it. The point here is, that if you're going to carry pepper spray be prepared for the possibility that you might get sprayed also, usually by back splash.
In situations where you are close enough to get punched, taken to the ground, cut with a knife, etc, etc, there's lots of options depending on your fitness and self-defense skill level.
I train/teach Filipino martial arts (Arnis/Escrima/Kali). We have techniques where we attack the punching arm or kick. These are called limb destructions. Some people who have never trained think they don't work but I have used them many times as a bouncer.
I had a good buddy who was a Federal Law Enforcement Officer(he's retired now). He watched me practicing limb destructions once and asked me if really thought I could pull them off in a fight. I had him put on Heavy (16 ounce) Boxing gloves and forearm pads and punch me as hard as he wanted. Within the first couple of punches he backed off and said he could feel some numbness in his limbs and that's with pads on. Limb Destructions are a higher skill set but they work. There's all kinds of cool drills to practice them. I practice some these drills pretty much every day.
A closed knife that fits in your hand and has a 1/4 inch of metal or more hanging past each end of your hand is a pretty good striking tool. A good pen works well also. I have hit bad guys in the ribs with the blunt end of a closed knife and they quickly backed away and grabbed their ribs.
If you don't have any improvised weapons like a good pen, rolled up newspaper, closed knife, etc. Learning to do basic strikes with your forearms is a good skill to develop (if you're in decent physical shape). Brachial Stuns are real. And forearm strikes to the ribs also work well in the right situation.
One of the drills I sometimes teach is passing an arm so you can escape. Catch Wrestling has some great drills to help you escape from being grabbed. These kinds of drills are fun if you do them safely. A forearm to the ribs followed by an arm drag is a good basic combination to help you escape. You don't need a lot of techniques just a few you can do under pressure and from different positions(sitting, standing, somebody behind you, etc., etc.)
I've trained with a knife for a long time. One of my instructors taught us long ago that no matter how good you think you are with a knife you're probably going to get cut. If somebody pulls a knife on you create as much distance as you can. A knife, even being used by a non-trained person can kill you. A knife can move quietly and fast. I've seen people die from being stabbed(in Mexico). I've dealt with patients with knife wounds in an ER when I worked as an EMT. It's nasty.
If you're older and have health or balance issues your best non-lethal tools are awareness and your attitude.
I have a self-defense skill set that most people do not have and yet many Brazilian JuJitsu martial arts students can take me to the ground because they are younger and train take downs often.
Some of my Kenpo Karate students train in Brazilian JuJitsu and are black belts in BJJ. It's scary how easily they can take most people to the ground or put them in a choke hold or Kimora, etc. I pick their brains sometimes. I still practice some of the sprawl drills they taught me. Lots of young people watch the UFC and BJJ is used a lot. Some fans will sometimes try to do one of the techniques they've seen when they've been drinking.
Not getting in a physical alternation is the best solution. Once it gets physical no matter how tough you think you are there's a good chance you're going to get hurt. Sometimes in a karate school, students will get knocked out on a padded martial arts mat from being taken down. There are no mats on the street. Any fall to the ground can be fatal or cause serious brain trauma.
You can learn drills to develop your mobility to help you escape but going toe to toe with anyone is a bad strategy.
I enjoy training pretty much every day. I'm not the spring chicken I used to be but I'm also not the dumb @ss I used to be either. Unless someone is trying to physically hurt you or a loved one, walk away. Let the cops handle it. No one died and made you God...sorry...it's the truth.