I have often noticed that game reviews mention that the game X is non-linear as if it deserved kudos for that alone, or that the game is linear as if it were a bad thing. Is it really?
In the end, it boils down to the kind of game the game designer is trying to make. If the designer wants to take the player on an intense emotional roller coaser ride - well then the game has to be linear. You can't control what the player feels until you keep tight control on which places the player visits and in what order, which persons player meets and in what order etc. Even then it won't work for all the players.
Games which revolve tightly around a storyline have to follow the story and are therefore linear. You can have the story branch - typically near the end - but the game itself tends to be linear. Eg Deus Ex, Baldur's Gate 2, Bioshock, Mass Effect etc.
Baldur's Gate 2 and Mass Effect are interesting because they provide the player with some amount of non-linearity. There are many quests/places which can be taken/visited in any order, and yet the game follows a strong story line. But the game itself is linear, no matter in which order you do the quests, you end up going down the same path.
Then there are the games which are purportly non-linear. Examples being Morrowind and Two Worlds. In these games you may visit any place in any order, this gives you a feeling of freedom, at least initially.
So if the designer is aiming to give the player a feeling of freedom, then it makes sense to design a game like this. But this also means that the designer needs to design interesting places for the player to visit, tough monsters to conquer, and worthwhile loot. If all you get is yet another cave with skeletons as monsters and skeleton knuckles as a reward, then the exploration gets boring soon. And, unfortunately, if the player can go anywhere and meet any one in any order, then it becomes impossible to design an emotional experience.
Alas, in the end, these games too are linear. In Morrowind, you will end up facing Dagoth Ur eventually. Maybe there is a choice near the end of the game, but it is the same kind we see in the so-called linear games! Maybe we should say that these are 'free exploration' games instead?
There is also the matter of technology. Creating a truly changing, evolving, non-linear world, in which the player's action or inaction impacts the world is too hard, especially in an RPG. What happens when the player ignores the evil threat for too long? Does the evil become too powerful for the player to beat? Or does someone else rise to take the threat head on? What happens when the player goes hard after the evil? Does evil sit up and take notice? Does it send its most powerful general to deal with the player?
The Matrix anyone?
In conclusion, whether a game is linear or 'free exploration' depends upon the kind of experience the games designers want to provide. An important variable in game design, and maybe a fad, but not a holy grail at all.