First of all, what's going on in Iraq is not a war. It's an occupation. The reason we can't win there is because it's impossible to "win" an occupation. All that can happen in an occupation is that you successfully occupy someone else's country until you decide not to occupy it, anymore.
If it were a war, we could destroy the people and the structures until they agree to surrender on a given set of terms, and if they don't follow those terms we can cause more destruction, still, until they do. But what's going on in Iraq is not a war, it's an occupation, so there really never was any way for us to "win". Our only options were to keep occupying the place, or to leave. We never had any other options, there, because it was never a war.
The Bush administration lied when they called their occupation of Iraq a war, and now it's becoming aparent to all americans that it was never really a war to begin with, and that's why there is no way of "winning" it, now. All that's left to decide is when to leave, or to stay there indefinately. And we can't afford to stay there indefinately.
Nothing of value was gained by this occupation. Iraq is certainly not better off for it. We are certainly not better off for it. The whole middle east is less stable because of it, and may become far less stable, still. And the longer we stay there, the more problematic it's going to become. Bush really made a huge mess of this, and there is now not only no way of winning, but there isn't even a good way of getting out. And not only did our soldiers die for nothing, they died as the result of George Bush's idiocy, and with the result of a looming major disaster that we can't avoid.
The outrage you feel at the idea that those soldiers died for nothing should be aimed at the man who made that happen, not at the man who has the courage to finally say it out loud.