The reconstruction has been a failure, partially due to too much civilian and UN involvement when Iraq really needed an unabashedly American military governor to play the role Douglas MacArthur played in post-war Japan.
The giant error was to try to pretend that Iraq's reconstruction was an Arab effort, and that the US wasn't really pulling the new leaders' puppet strings. Presumably, this was to avoid "inflaming the Arab street". We should have gone right ahead and set up a representative government based on our system of laws, limited the participation of radical parties, and not hesitated to publicly hang every last terrorist who took a shot at our soldiers.
Iraq was defeated, and the whole Arab world needed daily reminders of that for the next five years - mess with the US and get Toby Keith's proverbial "boot in your ass". Unfortunately, we decided to pretend that it was all some sort of collegial effort - as if Tommy Franks had just stopped by Baghdad for a Sunday barbecue and took a couple of shots at a burglar he happened to find looting the garage while he was visiting.
Now, we have only two choices - either launch a major military offensive to destroy the militia, assign a military governor to Iraq, and stop playing patty-cake with other Arab governments, or set a date for withdrawal and let the situation devolve into Vietnam II.
I think it's already too late for the first option.
Exactly.
Iraq is producing more electricity and oil than they were prior to the war. Roads, hospitals, schools, water and sewage treatment plants, etc. have been built. It's infrastruture is in better shape today than before the war.