I blame the politicians and Generals who ran things into the ground the first several years, not the troops themselves. I do believe that under Petraeus (and, to as lesser extent, Gates) things have gotten a lot better.
Even Carl Levin, perhaps the Iraq War's biggest critic in the Senate,
acknowledges the job Petraeus has done in turning things around over there. Bush seems to have found his "Grant," but it's too late for him to save his reputation.
Edited to add: Even the best armies in the world can suffer due to the incompetence of their leadership: In World War I, the Schlieffen Plan woulda, coulda, shoulda worked (and almost did) but for its ham-handed implementation under von Moltke the Younger.