I can't say much that hasn't been said elsewhere (and usually better), but let's take a moment to state the obvious:
We're not going to get the Iraqis to do what we want. We are making a lot of demands that the Iraqis cannot reasonably be expected to fulfill, and other that the Iraqis largely do not want to fulfill. Their goals and interests are different from ours. Accept it. Get over it.
We're not in Iraq for the long haul - we're going to be winding down the occupation, be it before or starting shortly after Bush leaves office. The monetary cost is too high, and the effect of maintaining present troop levels is too burdensome on the troops and the military. At this point it isn't clear that the geopolitical ramifications of withdrawing are worse than those of staying, and hope that with current levels of progress Iraq may be stable in another decade are not sufficient.
We can't withdraw overnight - Even a "fast" withdrawal will be a long process, and I would not be surprised if the process took two or more years to complete.
Defunding the war is not a realistic option - it would be a political catastrophe, would be shamelessly manipulated by the Bush White House to endanger the troops (who you should not expect to be withdrawn), and ignores the enormous cost of physically withdrawing that many troops and that much equipment from Iraq. I understand that many people thought that the Dems could magically end this war by cutting off funding, but the real world is more complicated than that.
If you keep funding present troop levels, as the Bush White House apparently desires, this is an escalation, not a "surge". But if Bush is sufficiently Machiavellian to leave the troops in the field even without the necessary funding, the conundrum is the same for defunding the surge as it is for defunding the war as a whole. (What do you think Bush would do?)