My dog was not a natural, "off leash" walker when I first got her from a local shelter. She was an adult who was used to making her own decisions...
This is part of her breed as well as lack of consistent training with positive reinforcement! I also used voice commands - to which she responded extremely well. Whenever she got too far away from me, I would say, "WAIT", in a very firm, crispy tone of voice. She did
She would either stop entirely, or slow down until I caught up with her.
She became very good off leash after months and months, and months of walking her on an extend-a-leash (approx 6ft) in areas that were virtually traffic and people free - so she wouldn't be too distracted. However, I don't walk her off leash in urban areas.
Now, she never strays more than 4-6ft from me
She will actually stop in her tracks when she reaches the 6ft mark, without me having to say anything.