For everyone that complains about linearity, let me give some examples of popular series that are very linear:
- Legend of Zelda (oh boy I can collect heart pieces - doesn't really change the linear play style)
- Call of Duty
- Pretty much every FPS (see: Halo, Killzone, etc.)
- Most JRPG's that make it so you can still only reach certain points at certain times for the entire game, generally only kind of ditching linearity at the end game, when there's next to nothing left to do anyways
- Pokemon (seriously, I mean, look at X and Y as the most recent example)
- Anything with level style gameplay (ie: stages that progress in a linear manner - some minor deviation does not count as breaking linearity when it still follows the same general path to the end goal)
And the list could go on. No system is free of its games possessing a linear play style, and you know what, none of them are bad games simply because they possess a linear play style.
As for Uncharted, I feel like the only people who QQ about it playing too much like a movie never actually played the series. Having played every Uncharted game made to date to completion, I can safely say that they possess decent difficulty, puzzles that may not be the most difficult but still can take some thinking, and some nice collectables that make it a good idea to explore the entire environment, not necessarily sticking to the beaten path. It is a solid series that in no way suffers from the linearity. For anyone that thinks the game isn't difficult enough, either you never got to the fire djinni near the end of Uncharted 3 (oh god I've never hated an enemy more), or you never tried the games on their highest difficulty, where a few stray bullets means you will die, without a doubt.