It depends, if you have alot of friends on xbox live/PSN and like to have fun with them I would suggest L4D2, If you like playing single player games that will last you a nice time and have a great replay value due to the awesome freerunning system then get AC2, If you like camping games(Unfortunately that's what MW2 is all about, camping) then get that, it's still fun and you can run around shooting and clearing out rooms but you will mostly die, ODST is just a short 6 hour or so campaign add-on to Halo3 but it comes with all the map packs for free and don't forget the awesome firefight mode, nice to have just as a time waister.
Overall, I would go with these -
Assassins creed 2 - Single player
Left for dead 2 - Co-op online
Halo3ODST - I wouldn't, Just a 6 hour campaign and firefight and the old maps you have to pay for.
Modern warfare 2 - I can't really describe it but it's worth to get despite all the campers.
Great fun even by yourself or with friends.