a great question Alex... a good quality hand gun is accurate up to thirty meteres...lol... and you can spend your life shooting at targets, none of which will be of the slightest use to you when confronted by an armed person. i recon i could certainly hit someone in the leg from...mmmm five yards, and believe it or not, that would be a good shot, but if the guy had a gun pointed at you, trust me you are aiming at the body mass to be sure of a hit...
i could hit a man in the head at three hundred yards with my sevice rifle, but might do more damage by throwing a handgun than fireing it... they now have cartridges that fire little bags of summit heavy, that might break your ribs at twenty yards, they also have tazers that you can fire from perhaps ten yards, either is better than the handgun...