A shepherd's job is to protect his sheep from dangers in the
ground on which they walk and feed as well as from predators. He is required to know the lay of the land and keep his sheep in safe places. At times, he will need to drive them from dangerous areas or bring them back to the paths that will bring them safely home.
There are many hidden dangers that we, as the sheep of the
great Shepherd, are not aware of. We have to learn to trust our Shepherd to guide us around or through in our Christian walk. At times His guidance will seem harsh or unnecessary. We can't see the dangers of drifting off the path but He is very aware of the enemy's snares and traps and is willing to do what is necessary to keep us safe.
When the Lord seems to be refusing us what we want, perhaps He is wanting us to stand still and wait on Him. He knows what is best for His wayward and strong willed sheep. He knows when it is safe to forge ahead and when we need to wait until He clears out the green pastures of dangers.
"Trust in the Lord with all your heart and lean not on your own understanding." Good words from the psalmist who spent his youth learning how to be a good shepherd.