The problem is obvious if Fido is a large breed. If he’s a tempest in a teacup, his pulling may look cute. But you’re still allowing him to think that he’s the boss.
Whether he wants to chase a squirrel, terrorize the neighbor’s cat, or sniff a mailbox, he thinks his agenda takes priority. It’s your job to teach him otherwise.
As with most things canine, it’s more effective to reward the positive than it is to punish the negative.
When Fido starts pulling, stop in your tracks. Don’t look at him, don’t talk to him, don’t do anything until he has turned toward you and is giving you his full attention. Once that happens, start walking. If possible, lead him to where he wanted to go; just make sure that you’re the one determining the course.
If he wanted to go somewhere or do something inappropriate, just start walking again. The most important thing to remember is that the walk should get very, very boring as soon as Fido pulls. The fun only starts back up when he stops pulling and gives you his attention.