While the other answers so far give some excellent reasons, I can think of a few more:
- To give the illusion of choice. Often, designers want a more controlled, guided experience for players. Those players, however, want to feel in control. One way to make both possible is for the designers to offer a choice that is imbalanced enough that they can predict what players will choose. The players get the best experience through the outcome that designers gave the most focus, but they also don't feel like they had to make that choice.
- To make the game seem bigger than it really is. If there is a fork in the road, and you choose one road, you may never know where the other road leads. If the road you followed led to a large city, you can only assume the other road led to something just as large. You would never know that the other road just dead ends as soon as it passes out of view. Game designers want to immerse a player in a world, but making an entire world isn't easy. Why not hide a game's lack of detail by discouraging players from getting too close? If the dead-end road is obviously the wrong road, most players, at least on a first play-through, will not know that it dead-ends.
- To offer a new challenge. Just because one choice is obviously better does not mean the alternative is not fun. Players will often handicap themselves for the thrill of winning at a disadvantage. Picking up the heart container after clearing a dungeon instead of ignoring it is obviously the better choice, yet many Zelda players still try the 3-heart challenge.