One could also argue, it's not the fact that Call of Duty is successful as opposed to the fact it doesn't have the drastic changes to its gameplay like Halo has.
If you look at Call of Duty from CoD4:MW onwards, very little of the core gameplay has changed. You have loadouts, perks, killstreaks, killcams etc.
Someone who enjoyed CoD4 is going to want to play MW2, World at War, Black Ops etc.
Now compare and contrast Halo from Halo 3 onwards. The entire fabric of Halo gameplay has been changed. The equal starts, no load outs, no perks, no abilities, static weapons are gone.
Someone who enjoyed Halo 3 is not really going to want to play Reach or by comparison Halo 4. The fact that you have fans actively choose to play Real over 4 here, because it resembles old Halo better is a strong indication.
And I understand, they want to cater to a larger fanbase than guys who are probably 20+ who grew up with older Halo in a time without CoD. But then they shouldn't be surprised if their most loyal and dedicated fans no longer play.
And therein lies the rub. I've posted in sites like IGN, GameFAQs etc. A lot of people who love Halo 4 and said it had the best campaign or the fresh multiplayer aren't still playing it. And it could be the nature of the industry, more people are buying more games and playing for less time.
So the problem with Halo 4? The CoD fans are going back to play CoD, the new age of gamers will move on after a month or two to another game because they get bored, old time Halo fans don't like this at all and won't play. And that's why Halo 4 sits behind two Call of Duty games, minecraft, fifa, and even NBA.