The UK prime minister told the BBC there was a “stalemate” on the ground, but work must continue internationally to try to find a solution.
UK military chiefs have warned of the risks of arming rebel groups.
Mr Cameron said there was “too much extremism” among the opposition, but moderate groups still deserved support.
Syrian government forces have taken the initiative in recent months, and have been bolstered by the capture of the strategically important town of Qusair in the west of the country in June.
Most of the much bigger city of Homs has been recaptured by government troops backed by Lebanon’s Hezbollah.
Washington and London have been looking at ways to increase logistical support for opposition groups and the UK announced last week it was sending £650,000-worth of protective clothing to guard them against chemical and biological attacks.
But reports have suggested support for supplying weapons to rebel groups is receding, due to strong political opposition and widespread concerns about arms falling into the wrong hands.
Mr Cameron told the Andrew Marr show that President Bashar al-Assad was an “evil” man who was doing “terrible things to his people”.
But he also said the UK “should have nothing to do” with elements of the opposition also reported to have committed atrocities.
“It is a very depressing picture and it is a picture which is on the wrong trajectory,” he said of the conflict.
“There is too much extremism among the rebels. There is also still appalling behaviour from this dreadful regime using chemical weapons. There is an enormous overspill of problems into neighbouring countries.”
He added: “I think he [Assad] may be stronger than he was a few months ago but I’d still describe the situation as a stalemate.”
‘Head in sand’
Despite the UK’s concerns about the actions and views of some opposition groups, Mr Cameron said the UK had a duty to support those pushing for a “democratic, free and pluralistic” country.
“You do have problems with part of the opposition which is extreme, that we should have nothing to do with. But that is not a reason for pulling up the drawbridge, putting our head in the sand and doing nothing.
“What we should be doing is working with international partners to help the millions of Syrians who want to have a free democratic Syria, who want to see that country have some form of success.”
Mr Cameron also said reports in the media that his wife had been a strong influence on his policy were a “total urban myth”.
Samantha Cameron visited a refugee camp in Lebanon in March in her role as ambassador for Save The Children, in which she met families and children displaced by the conflict.
It has been suggested that she has since pressed for a stronger humanitarian response.
The UN says the refugee crisis is the worst for 20 years, with 1.7 million forced to seek shelter in neighbouring countries and an average of 6,000 people fleeing every day this year.
Mr Cameron said his wife had been “very moved” by what she had seen and heard from people who had lost loved ones and whose communities had been destroyed.
But he added: “She does not influence my policy on this. I have been very passionate about this for a long time.”