Uncharted 2 is held in very high regards, perhaps too high. It was innovative when it came out, but Uncharted 3 is the better game. Here's why:
Uncharted 3 Pros:
Better set pieces: The burning Chateau and catching a flight alone blow away any set piece in Uncharted 2.
Better story: Uncharted 2's story was predictable from beginning to end while 3 has some nice plot twists that keep the story engaging though you know where it will ultimately go.
Better melee: Both games have sluggish melee with no depth but Uncharted 3's melee atleast is visually satisfying.
More variety in combat: Uncharted 3 has all the variety of Uncharted 2 and then some. You can shoot while swimming that adds a lot to the combat in some of the chapters.
Better encounters: Both games have great encounters but Uncharted 3 has better ones. The difference isn't that big though. The shipyard encounter especially allowed for some very diverse tactics and the following ewncounters in the shipwreck and one the boat were some of the highlights.
Better puzzles: Uncharted 3's puzzles were challenging while Uncharted 2's puzzles were very simple.
Better intro: You were actually doing somthing in Uncharted 3's intro rather than just walking. Also had a quite shocking ending to the intro.
Better graphics: Better lighting and much better elemental effects added to the immersion in Uncharted 3.
Uncharted 2 Pros:
Better pacing: Uncharted 2 ramped up the action nicely and more quickly than Uncharted 3 which was a slog to play till an entire seven chapters into the game.
Better stealth sections: Uncharted 2 had some good stealth sections that were missing in Uncharted 3 where every stealth sub section devolved into an encounter.
Better boss battle: I say battle because both games have terrible boss fights, but the Chopper battle on Nepal rooftops in Uncharted 2 is the only good boss battle in these two games.
I think Uncharted 3 is better than 2 if you consider everything.