The reason why games are so easy is because they baby you through levels. The best example is COD, the computer is always telling you what to do and where to go. You don't even have to think. Look at the stealth level in MW3, Stronghold, you are told everything to do instead of you figuring it out for yourself. (I know they aren't in the same genre) But look at Silent Hill 2, you were pretty much given a place to go and you have to find how to get there and solve the puzzles. Developers look at games like COD (which sell) and try to mimic it in hopes their game sells. Games need to stop being so linear, they should only use it to advance the story or for a special event. Instead of having the computer tell you everything you need to do, figure it out on your own and that's a reward in itself, solving something difficult.
Dinostrich's comments