The sad fact of creating a blockbuster game is that it is going to cost money. That's why COD hasn't really changed in 5 years, it would cost way too much to rewrite the entire engine and cause too many problems on their console platforms. I don't blame them for trying to save some money on production. It didn't end up working like they had hoped and I'm sure they won't outsource an important portion of a game ever again.
I love this game. I get time to game maybe once a week now, and I play Battlefield 3 every time. The game isn't perfect by far, but I've played far less perfect games for YEARS and enjoyed every second of it. Why? Because I'm playing to have fun, not to whine about how the company creating my enjoyment is evil.