i havent played COD2 on live yet, trying to get the hang of single player still.
i personally love GRAW, i think its by far the best..
BF2 is fun if u can get ur team working together. Most people tend to go off on their own- i try to play w/ as many friends as possible so its more organized. However, the game play is great, the maps are intense and u get great vehicles.
You should go on COD2 Live. You will get better MUCH faster than if you follow the 1P game. I didn't even finish the 1P game once I started playing Live. Its fun even if you're not good, you can just screw with people until you are ready to play for real.