The reason that the first war didn't get the desired effect is because it was a UN mission to drive Iraq from Kuwait. It never happened because the UN wouldn't clear it.
G.H.W. Bush was in charge then, and yes, he should have broken ranks with the UN and done it.
The job has to get done first. Okay, HOW! Set a deadline and tell these people to get off their asses. These are the laziest people on Earth, as anybody who has been there can attest to. They will not take you seriously until you show them you mean business.
The job is being done-- although, maybe not fast enough for the MTV/video game generation. These people are getting off their asses, in the face of very dangerous opposition.
Set your way-back machine for 1945. How long was it before Germany or Japan was stable? I'm not talking about our cold war presence, I'm talking about immediately post-WWII.
Setting an overall deadline is counter-productive. It simply means that the bad guys will wait you out. It also means that, if you miss the deadline, the opposition here at home will hammer you into the ground.
Little deadlines, sure. Big deadlines, nope.