It's hard to make a game where a character is able to do anything, and
limiting the choices available helps to keep your game as simple as possible.
And remember how important it is to keep things simple.
Second, it allows a writer to make choices that are more appropriate for
a game character, but that a player might not make.
For example, the main character of a game might be a brilliant rocket scientist.
If the person playing the game is not a brilliant rocket scientist and
they run into a problem that requires rocket repair and complex trajectories,
it might make sense for the player to temporarily lose control as
the game character fixes up a rocket and does their complicated science thing.
Third, it lets the writer tell a lot of story without being interrupted.
Sometimes a story can grow too big to tell
into little chunks spread sporadically throughout the game.
Letting the writer take over for
a while is a way to do a lot of explanation in one big chunk.
Fourth and probably one of the most narratively useful reasons
to take control from your players is to force players to make mistakes.
Think of every other form of storytelling we have.
Movies, books, songs, comics.
How many movies have you seen where the main character never makes a mistake?
How many songs are about regret of past decisions?
Mistakes are one of the most useful things a main character can do.
A big mistake can change the mood of your story and serve as the turning point for
your whole game.
A mistake can create problems that can be solved by the player, and
players love solving problems.
However, players also have the ability to save and restore their games.
You could put a pile of donuts in a middle of a clearing and
when a character goes to grab those donuts,
they might fall through a trap door where your story turns the corner and they spend
the next five levels finding their way out of the caverns of the mole creatures.
However, the character can always restore their game and play the scenario again.
They'll have fallen for that trap before.
They won't wanna fall for it again.
They will try all sorts of methods to get those donuts without setting off the trap,
but in the end, they'll feel silly when they have to go step knowingly into a trap
just to keep the game going.
Players wanna make good decisions.
They don't wanna be forced to make bad decisions,
even if it helps you move your story along.
As an aside,
I think this is why many games use main characters with troubled pasts.
The character can have a history of past mistakes that are catching up on them,
and these can affect the game without making the character feel
like they're messing up.