Citronella spray (ie, sprayshield) is NOT pepper spray, and it doesn't hurt in the same way, but it is an effective deterrent for those annoying dogs who are just being "friendly." Its great benefit is that it won't turn an annoying, mostly curious dog into an aggressive dog, because it doesn't hurt. Sure, it won't stop a fight that's underway. No one is claiming that it would. But it's one more tool in the toolbox to prevent serious fights.
My major strategy is simply to turn and walk in another direction the instant I see an unleashed dog far off in the distance. If I can't tell if the dog is leashed or not, I turn and walk away anyway. This strategy works well where I walk--in hunting areas, state parks, county parks, bike trails, etc. In a city, you might end up doing a lot of turns. Since I started doing this a year ago, we haven't had to deal with any more dogs coming up to us. Now when I ski, bike, scooter, or run with Vanya, I'm scanning for dogs in the distance, and also scanning for side-paths that we can take if need be. We practice turns a lot, whether or not unleashed dogs are off in the distance, so Vanya doesn't associate a turn with dogs.