US President George W Bush has said he does not believe Iraq has descended into civil war but urged the nation's leaders to confront sectarian violence.
The president has faced plummeting approval ratings
Mr Bush said Iraqis had "had a chance to fall apart and they didn't".
At the weekend, Iraq's former interim Prime Minister Iyad Allawi told the BBC 50 to 60 people were dying every day and that the country was in civil war.
Mr Bush hinted to reporters that US troops would remain in Iraq beyond the end of his presidency in January 2009.
Asked about a timetable for the full withdrawal of US troops, President Bush said: "That of course is an objective and that will be decided by future presidents and future governments of Iraq."
Mr Bush was speaking at the White House in his second major news conference this year.
The president admitted there would be tough fighting ahead in Iraq, but after referring to the sectarian violence that followed the bombing of a Shia Muslim mosque in Samarra last month, he said: "Iraqis took a look and decided not to go to civil war."
"The army didn't bust up into sectarian divisions, the army stayed united," he said.
"Secondly I was pleased to see the religious leaders stand up. Ayatollah Sistani for example was very clear in his denunciation of violence and the need for the country to stay united," the president added, referring to one of Iraq's most senior Shia clerics.
Mr Bush said there were many voices that disagreed with Mr Allawi's view, including President Jalal Talabani and top US commander Gen George Casey.
But he said sectarian violence must be confronted by the Iraqi government with its better trained police force.
Mr Bush said he remained confident, three years after the US-led invasion, that his strategy would succeed.
He praised the sacrifice made by members of the US military in Iraq, adding: "If I didn't believe we could succeed, I wouldn't be there. I wouldn't put those kids there."
President Bush has faced plummeting approval ratings. A poll conducted last week showed his personal rating at 36%, compared to 57% a year ago.
In the same survey, 65% of Americans said they were dissatisfied with the president's handling of the war.
More than 2,300 US soldiers have been killed since the 2003 invasion. A US soldier was shot dead in Baghdad on Tuesday.
Mr Bush defended his decision to invade Iraq.
"I didn't want war. To assume I wanted war is just flat wrong... No president wants war."
Mr Bush stood by Defence Secretary Donald Rumsfeld, who has faced renewed criticism over his handling of Iraq, saying: "I don't believe he should resign. He's done a fine job. Every war plan looks good on paper until you meet the enemy."
Tuesday's news conference came as US military investigators flew to Iraq to study reports that marines shot dead at least 15 civilians, including seven women and three children, in Haditha in November 2005.
The military's initial claim that the civilians died in a roadside blast was disproved by an earlier investigation.
The US military is probing the deaths of civilians at Haditha
The latest inquiry comes after a Time magazine reporter said he had been given a video by an Iraqi human rights group showing the civilians "could not have been killed by a roadside bomb".
Mr Bush did not refer to the issue in the news conference but he did touch on the US dialogue with Iran over Iraq.
He said he had given the US ambassador in Iraq permission to tell Iran that any attempt to spread sectarian violence or bolster Iraqi insurgents was "unacceptable".
The US and Iran have not had an open dialogue since the hostage crisis of 1979. Mr Bush insisted any talks would not cover Iran's nuclear programme.
He added: "If the Iranians were to have a nuclear weapon, they could blackmail the world."