I have always let my horses have their head and pick their speed on the trails. Having said that, I have always had horses that were trail horses that knew to only walk on a trail. It helps that there is usually more than one horses with me, and if the other horses are walking, usually mine will just fall in place with them. I usually go on rides through pretty tough terrain when I do go on trails, so I like to give the horse their head and let them choose their pace, and where they want to place their hooves. I have found it can be dangerous when you are going down a steep hill and you hold your horse back, or make them go the direction you want them to go. Typically, the horse knows where they want to place their feet better than the person does.
I look at trails and riding on the road differently though. When I ride on the road, I keep my horse at a easy walk, never letting her choose her pace. Occasionally I will let her trot up the road some, but only if I am crossing the road, or there is a blind spot I want to get around quickly. But I never let my horse canter/lope on the roads(And I mean blacktop ones). That can be harmful to their legs if done for a long period of time.