I think there are two main reasons:
1) A lot of people put hundreds of hours into the COD games that by the time a whole year goes by, people are salivating to get a new addition. They have used the same weapons over and over on the same maps hundreds of times and by that time any change is a breath of fresh air.
2) You play Black Ops a lot. Then suddenly BO2 comes out. Now a couple of the guys you play online with have made the switch to BO2. Now you feel that to keep playing with them, you should get the new game too.
I play BO a decent amount. it's the only FPS multiplayer I played for more than a couple of hours. I don't buy the new one every year, but I did like the first BO a lot, so I would hope that the sequel is even better.
Your first point is what I'm talking about the games only change very, very minimally each time. Almost not even worth it. I bought the first two MW's but I loved the story lines in campaign more than multiplayer, and I will probably get MW3 when the price drops off, but mostly for the campaign. But multiplayer isn't worth it to me, it's just the same thing with a new face everytime. Takes no real skill, it's all about internet connections and run and gun tactics.
I started playing Counter Strike again and remember why I love it in the first place, there's strategy, talent, and actual skill involved. It maybe an old game, but it's solid and something that you actually have to work at.