It's been roughly 7 and a half years since 9/11 and we still don't have bin-Laden, and that situation doesn't seem likely to change anytime soon however many civilians and children are killed. I agree that bin-Laden needs to be brought to justice, but the war on terror is a war of perpetuity that cannot possibly be won and the costs are far too high.
Afghanistan and Pakistan are not just the war on terror, they are also a war on drugs. And the US, NATO can't afford a humiliation in Afghanistan. The thing is that we don't have a choice: we need to bring the war abroad or they will bring the war to us. Right now terrorists are on the defense, if you give them room and retreat from Afghanistan we are going to be on the defense and that you do not want to happen.
The war on terror in general will never be won, because terrorism is just like any other crime. All wars can be won, you just need the right aproach: the US handled Iraq wrong, they couldn't understand that Iraqis need to solve the problems in Iraq not the Americans and now they ve come to realize that they can "solve" problems. The same is true in Afghanistan, you need the local people on your side.