President Obama's Afghanistan policy is supported more by Republicans than Democrats. He listened in large part to General McChrystal's policy prescriptions. From many accounts things are not going well, and now McChrystal is criticizing the President (again).
The General is 100% wrong to speak badly in any way about the Commander-in-Chief and any other person in the line of command. He should be fired.
But the bigger political point is that the President has no political cover to do what is necessary because he is dependent on people who are determined to see him fail overall.
This is a big reason, the Democratic party needs to be the home of vigorous debate. This way, we can count on different factions within our party to support whatever policy is necessary.
Relationships matter. Parties matter.