There comes a time in every war where the the eventual outcome is already decided, it's just that the participants haven't realized it yet. Such a pre-determined outcome is now obvious for the American nation building exercise in Iraq.
Instead of greatly increasing troop strength, and taking back control of a powerless (and partisan) local government, the United States has instead chosen to hunker down and pass the responsibility for containing communal violence to the incompetent native Iraq security forces. If the US really wanted to achieve a victory, it would have committed 500,000 to 1,000,000 troops on the ground in Iraq, and taken full responsibility for administering the country for many years, rather than trying to throw some make-shift government together, and partisan native security forces dominated by local militias.
If the US isn't willing to do what it takes to win in Iraq, then the only alternative is to accept defeat. We already know the US will cut-and-run, we just don't know the date.
The only thing President Bush's exhortations for patience, and perserverence, will accomplish is a greater loss of money and blood.
True, the consequences of American defeat in Iraq are not pretty. US prestige will take quite a beating, and the middle-east will be an even more chaotic, and dangerous place. Iraq could very easily descend into a bloody civil war without the American presence, keeping things only at a slight boil.
But these terrible consequences will happen just the same whether the US pulls out in 4 years, or 3 months. So why wait?