I like wide martingale collars. They can't back out of them and the collar gives you more control without risking damage to the neck if they do pull. Look for Whippet or Greyhound collars. The one I used is three inches wide and tapers to the back. But bottom line, the reason dogs pull is that it is rewarding to them......they get closer to whatever is attracting them. So stopping until the leash is slack will work (if you have patience), changing direction every time the leash tightens will work, targetting will work. Many roads lead to Rome. You can experiment and find out what works best for you, but it isn't good to let the dog reinforce the habit, which is what makes it difficult to sort this problem out when you also need to give him exercise! One solution is to give him exercise with one harness or collar and practice your loose leash walking with another, until he "gets it".
IMO, retractable leads teach the dog to pull. They are also dangerous. Ask a vet. They treat many "hit by car" injuries suffered by dogs that were on a retractable when the owner didn't react quickly enough. There is also the potential for injury when the dog wraps the leash around a person or another dog. And in many places they are illegal, i.e. the leash laws specify 6 foot maximum leash length.