They do take 2 years to develop each game. Activision has two teams, Infinity Ward & Treyarch, to release a game every other year, so it's an annual thing. The problem is that IW fucking hates that Activision has raped the series and gave Treyarch their formula and engine, so they refused to let Treyarch use their latest engine from MW2. So Treyarch built the game off of the World at War engine and that's why it feels dated and less buttery than MW2. Now IW has completely disbanded (huge drama with this including lawsuits) and Activision has brought in Sledgehammer and another company to work with the shell of IW to create MW3. But this time it will have MW2's engine which will be an improvement over Blops.
They could have made the perfect CoD game by just fixing the issues with MW2 like One Man Army, Danger Close, Commando, Tactical Insertion, the Nuke, and made the blast shield have the same effect as Flak Jacket in BlOps. I fucking loved MW2, but it was just too over the top and all the hackers and noobs with OMA & DC ruined it.