I agree, It's not just a matter of getting a new collar or harness. You have to assess why the dog is pulling and provide training for how you want the dog to walk.
I have found that chin harnesses work for some dogs and body harnesses work better for others. Either case, I would reward behaviour that I wanted. I would reward them for when they walked with a loose leash, even couple of metres they'd get a 'good girl' and the odd kibble treat. When they did pull out ahead, I'd stop and they'd stop tugging and turn to look to me, I'd click and reward as soon as they looked at me or better yet, came back to me.
The "Reverse Walking" method laid out above is also very effective for most dogs.
Some dogs do well with a "get behind me" reward method where you drop treats or kibble right behind you and so they learn that staying close behind you is rewarding. Regularly praise them for staying close to you. Do it for a week and then start fading out the treats but continue praising. Then slowly faze out the praising expect for the odd 'good girl" and the odd treat.