There will always be limits to the amount of choice you're given. You can't decide to have Commander Shepard flip off the Alliance and go become a space pirate. You can't choose to have the Grey Warden of Dragon Age: Origins
decide, "Fuck this," and move to Antiva, leaving the Blight for someone else to deal with. You can't make Walking Dead's Lee butcher Clementine with an axe, or shoot Ben in the head the moment you meet him.
There are problems with how choice is implemented, but there are also problems with how it's received. Ultimately, no matter how much of your character is left for you to mold, there will always be choices you can't make. This is why I prefer characters who have their own sense of identity versus characters who are supposed to be a blank slate; the character will never BE a blank slate, and trying to make them such shackles what the writers can do with him. A blank slate is an empty character, and empty characters are boring no matter what medium you're in.
Mass Effect's Commander Shepard is a good example. He is not a blank slate. He has his own goal that he is determined to follow through, and you cannot choose to shirk it. You choose which members of his crew to take with you on missions, but he decides who gets to be on the ship in the first place. You influence the choices he makes; you don't directly control every thought and process in his head. The end result is a very strong character who is very flexible
in how he can develop, but is still has a very solid identity. He is not you
, he will never be you
, but you still have the agency of choice in how he operates.
By contrast, the main character of the Elder Scrolls series is always an empty character. From Arena to Skyrim, your character is the least interesting part of the entire story, with the plot revolving around WHAT you are, because WHO you are is a shell. Who you are - your motivations, your personality, your history - is irrelevant. You don't have a past. You sprang into existence fully-formed from the moment you turned on the game. Your character has no identity, and the only reason anyone cares that s/he exists is because of things you're going to do.
Regarding the illusion of choice: I don't have a problem with it. I like it when it's done well. The writers do need to stop making a clear Right Answer when doing so, however. There is no point in giving a choice to the player when it's Mother Theresa or baby eating
. Be more creative than that, or don't bother making the choice at all.
I would really like it if the writers and the players could make an agreement that the writers would stop making bland, hackneyed binary moral choices if the players will stop bitching that they can't make Hawke assassinate the Viscount in Act I, enslave the Arishok, and conquer the world with an army of qunari sex slaves, or whatever other ideas just spontaneously jumped into their mind.
Be wary of ponies. They are dangerously addictive.