Cameron visited troops in the southern province of Helmand before meeting with President Hamid Karzai as the Afghan government and international powers try to revive peace efforts that recently collapsed in ignominy.
"You can argue about whether the settlement we put in place after 2001 could have been better arranged. Of course you can make that argument," Cameron told Sky News in response to remarks by General Nick Carter, the senior British officer in Afghanistan.
"The Taliban were on the run," Carter said. "At that stage, if we had been very prescient, we might have spotted that a final political solution... Would have involved getting all Afghans to sit at the table and talk about their future."
Carter, deputy commander of the NATO-led coalition, acknowledged it was "easy to be wise with the benefit of hindsight" but Afghanistan's problems were political issues that "are only ever solved by people talking to each other".
More From This Section
"The Taliban... Are beginning to realise that they are not going to secure a role in Afghanistan's future through terror and violence, but by giving up their arms and engaging in a political process," Cameron told reporters in Kabul.
"This peace process is for Afghanistan to determine... there is no other agenda, that Britain has, that America has, or any country in the West has," the premier said at a joint press conference with Karzai.
Karzai, furious that the office was being styled as an embassy for a government-in-exile, broke off security talks with the Americans and threatened to boycott any peace process altogether.
Karzai said on Saturday that the security talks, which would allow Washington to maintain soldiers in Afghanistan after the NATO combat mission ends, were still suspended.
He repeated that a loya jirga -- a gathering of tribal leaders and other civic representatives -- would decide on signing the bilateral security deal.
Obama recently said he anticipated "a lot of bumps in the road" but that a peace settlement was the only way to end the violence in Afghanistan.