Battlefield 3 will always be the winner simply because Dice cares about their work and has been making it better and better when CoD is nothing but a cash cow for little children to cry like a baby until their mommy buys it for them.
Black Ops 2. I don't get much time to play games with work being overpowering at the moment and it is easier for me to jump on COD. Battlefield 3 warrants at minimum an hour at least at any time i decide to play.
All I have to say is Battlefield 3. No more words are needed. Call of duty is the getting more bland every iteration they create. I have vowed to never purchase another CoD since it's just the same thing dished out every year. I enjoy BF3 even if I don't have a lot of time to play it and level up to enjoy all of the unlocks. FPS's just don't hold my attention all that much anymore.