The potential 2008 presidential candidate, who a day earlier had rejected calls for withdrawing U.S. forces, said the administration had failed to make clear the challenges facing the military.
"I think one of the biggest mistakes we made was underestimating the size of the task and the sacrifices that would be required," McCain said. "Stuff happens, mission accomplished, last throes, a few dead-enders. I'm just more familiar with those statements than anyone else because it grieves me so much that we had not told the American people how tough and difficult this task would be."
Those phrases are closely associated with top members of the Bush administration, including the president.
Mr. Bush stood below a banner proclaiming "Mission Accomplished" on May 1, 2003 after the collapse of Saddam Hussein's regime. The war has continued since then, with the death of more than 2,600 members of the U.S. military. Vice President Dick Cheney said last year that the Iraqi insurgency was "in its final throes."
McCain said that talk "has contributed enormously to the frustration that Americans feel today because they were led to believe this could be some kind of day at the beach, which many of us fully understood from the beginning would be a very, very difficult undertaking."
McCain was campaigning for Republican Sen. Mike DeWine, who faces a tough fight in his re-election bid against Democratic challenger Rep. Sherrod Brown. Ohio was decisive in the 2004 presidential election, ensuring Bush's win, and is certain to be critical in 2008.
On Monday, McCain said at an appearance in suburban Cleveland that if U.S. troops announce a specific date to leave Iraq, insurgents will bide their time until they have an opportunity to act without interference.
"The chaos that would ensue would have direct implications for our national security," McCain said.