I do not believe anyone can disagree that there is no win in Iraq. We stay, we're screwed. We leave, Iraq is screwed and maybe us... at least it's only a maybe. Question is: Is it an American problem or an Iraqi problem?
It's been hundreds of years since Sunni and Shia have hated each other for one reason or another. Add on Kurdish Muslims, Ismaeli Muslims... even Christians. Add oil rights and (water rights... an issue not even mentioned), Britain's random partitions of Iraqi provinces.
So the inevitable has been said and has to be said again... Iraq is culturally 3 countries. Greater Iran/Iraq, Kurdistan, and Sunni Iraq. Sunni Iraq has marginal oil. Iran/Iraq has a ton of oil and so does Kurdistan. Sunni countries such as Saudi Arabia will just have to provide for their oil-poor brethren.
Seems simplistic but no amount of military force, not a million American troops could force people who hate each other to like each other. Josef Tito succeeded and so did Saddam Hussain, albeit in a fleeting moment in the millenium of human history and they did so with absolute brutality and despotic cruel and evil fervor.
We cannot force Iraqis to be one. They are not one people and they will never be. They are 3 states ~ each with a unique destiny and culture. It is not for the US to control now or ever. So while it is true, that a withdrawal would be disastrous, staying comes at a higher price.
There is no question that there will be civil war, as in Yugoslavia, but it is Iraq's war to bear and settle. Our role is to contain that war from the outside not from the inside. When the horrors of civil war become evident to the three Iraqs, they will come to the table, grudgingly but they will.
It always ends that way.