People use e-collars because they work.
People use e-collars because they are reinforcing to THEM.The dog stops a behavior right off the bat (sure, it hurts or it is at least unpleasant) and the handlers gets reinforced, and learn that punishment and aversion in general take care of things.It doesn't, it mostly stops behaviors when they are happening or when the aversive tool is present.A dog that gets punished for lunging at another dog, for example, might stop because of some consequences.But emotions are still there, they don't disappear because of a shock or a jerk on a prong.
It is reinforcement that drives behaviors and if people tried to understand the principles of it e-collars would not be used so much.There are other ways, especially for behaviors that are really minor, but they require some work and efforts and people are not fond of the idea.
Cboy, if you ever want to try a head collar (gentle leader, halti etc) feel free to PM me.I think you are about 2 hours from me and maybe we can even meet, perhaps halfway.A head collar is a tool that gives you physical control of your dog.It is aversive only when used inappropriately.A regular flat collar can be more aversive than a head collar used properly, especially with people who like to jerk the leash, to "correct" a dog.Your trainer can probably show you how to introduce it to the dog and what not, as long as he does not use it for corrections.
You can reach your goal (no jumping on people) on a flat collar, easily.But if you are stuck or you are getting frustrated then the head collar might help you a bit.It is only some momentary help, you still have to do your part.
For now...what drives your dog is social interaction.Nothing wrong with it.Your boy is excited when he sees people and you want that.But you also want him to be able to greet properly.Each time he made it to jump on people he was reinforced.People probably talked to him, pet him, or just gave him some kind of attention.Dogs do what works for them and for him jumping up gave him valuable rewards.So now you have to work harder to channel that behavior into something more appropriate.
Since social interaction is what he wants, use it at your advantage.Teach your dog to touch the tip of your hand, or your palm, on cue.It is very simple, you offer your hand and feed the dog when his nose is on your hand or finger.When the dog gets it and keep offering the behavior when he sees your hand put it on cue, using a word you like."Touch", for example.Each time your dog comes to you for attention, ask him to touch your fingers so the behavior is reinforced over and over again.Then, when you meet people, ask them to use that cue before the dog approaches them.Now it is a well known cue, and the dog is offered the opportunity to greet that way, instead of jumping up.It is much easier to prevent "bad" behaviors if they are replaced with something else the dog can perform.Also you are not taking away what motivates him (which can cause frustration and an increase of the behavior), you just help him behaving in a way that is acceptable for everyone.If he touches someone else's fingers his feet are on the floor and he can then get pet.It is hard to get anywhere if you are in a place like Petsmart so start working in a more calmer place where people is most likely to help you out and you are not worried about accidents.Maybe have some friends meet the dog, out of your house, at a park of wherever it is possible.It is more fair to the dog to set him up for success by choosing the right environment.Then you can move to busy places.