Requiring your dog to always walk behind you is like the king sitting in a throne towering over his minions. It's archaic and domineering. If you live in an urban or suburban area, it is also impractical.
Allowing your dog to walk slightly ahead also allows you the benefit of observation. I don't want my dogs behind me because I need to see what she's doing. I'd rather the dog regulate her walk to mine, than me having to check back all the time. In addition, with the dog in front I can learn to read her body language. This is important to learn to head her off before she gets into trouble. For example, Chloe has a certain change in posture and gait when she sees a squirrel ahead of us. When I see her do this, I'll give her a "Leave It" command or put her in a "Heel" before she has the chance to drag me.
I teach "loose-leash walking". This basically means learning to walk in an acceptable manner on-leash. The owner gets to decide what is acceptable and what behaviors might need management. It offers greater freedom of choice for both owner and dog. And you both learn to communicate with each other on leash. This is what relationship-building is all about.
Now, of course, there may be situations in which you need your dog to walk behind for a while. Some dogs also require more direction than others. I never say never. The idea is to teach the dog a variety of options and cues to make walks more enjoyable for the both of you.