Gears 2, mainly because it had over 100 hours of gaming from me where as Uncharted 2 was done after about 35 and I may only replay again for a run through refresher before a third game.
Uncharted 2 has a great story that is well placed and is arguably the best game on the PS3 so it is a must buy game for the platform for any shooter fan.
Gears 2 has an entertaining story albeit it cfull of cliches. The extra bonus of being able to play the campaign in coop both on and offline is a big plus especially when you raise the difficulty. The online aspect of Gears 2 is leagues ahead of Uncharted 2 provided you get a good host, this is the only downfall in that around half the games you get, will require different tactics to cope with the lag. Once you have the Gears bug though and a few mates to go hunting with, it's simply amazing (then there is horde mode). Gears does require you to put in a lot of time to hold your own in games so its online is definately not a dip in and play occasionally imo.
Ultimately both are great games but it depends on what sort of game you want as although similar in genre the gameplay is vastly different. I don't think buying one or the other will ever be a wrong decision, preferably buy both though, especially given how cheap you can get Gears 2 for now.