If only criminals can carry weapons, then only criminals will ever have weapons.
Yes, by definition. So what?
But, look at the US for what happens when everyone might be carrying a weapon. If a victim might have a gun, every criminal will have a gun just to even the odds. Since criminals all carry guns, police also have to carry guns, and police get incredibly paranoid that everyone they're dealing with is armed, so often their policy is shoot if they feel slightly uncomfortable, and ask questions later. Maybe plant a gun on the criminal if they were wrong. And, of course, the US leads every developed country in shooting deaths by a huge margin.
Meanwhile, in the UK most cops don't even carry guns, nor do most criminals, and of course the general public doesn't either. And, unsurprisingly, shooting deaths are pretty rare.
If normal people are allowed to have weapons on them, I think it will occasionally deter a crime. But, I think it would also cause a lot more accidents with those weapons. I also think untrained people would have their weapons taken away and used on them. I also think those weapons would often be used in crimes more often. A road rage incident involving two unarmed people would instead be a road rage incident where someone grabs whatever weapon is at hand. I think for the average person, it's more likely they'll be in a situation where they're irrationally angry and grab whatever weapon is nearby, than be in a situation where they need something to prevent themselves from being the victim of a crime.