It's been on the cards for some time. Gareth Porter suggested back in September that Fallon's relationship with General Petraeus has been somewhat problematic:
In sharp contrast to the lionisation of Gen. David Petraeus by members of the U.S. Congress during his testimony this week, Petraeus's superior, Admiral William Fallon, chief of the Central Command (CENTCOM), derided Petraeus as a sycophant during their first meeting in Baghdad last March, according to Pentagon sources familiar with reports of the meeting.And Fallon's relationship with the Bush administration hasn't been rosy either - he seemed ever ready to portray himself as the only person who could stop the U.S. going to war with Iran.
Fallon told Petraeus that he considered him to be "an ass-kissing little chickenshit" and added, "I hate people like that", the sources say. That remark reportedly came after Petraeus began the meeting by making remarks that Fallon interpreted as trying to ingratiate himself with a superior.
Barnett's article in Esquire (despite Fallon's recent efforts to distance himself from it) was the final straw.
Whatever one's opinion of Fallon and the wisdom of attacking Iran, the perception that he was openly undermining American policy in the region made his position increasingly untenable. As Jeff Huber commented the day before Fallon resigned:
[I]t scares the living shit out of me that an admiral who's supposed to be a general is most likely dictating foreign policy to elected officials in our executive and legislative branches who are supposed to dictate foreign policy to him.He had to go.