Battlefield 3 is by far the better game of the two in my opinion. The larger maps and ability to use vehicles just makes it so much more enjoyable. That and the destructible environment, superior graphics and ability to have 64 players in one server on PC.
CoD can still be fun though. Great to play when you've got a few friends over and feel like shooting each other.