Cameron told MPs that IS poses a "clear and proven" threat to British lives and was a "brutal", well-funded "terrorist organisation" that had destabilised Iraq and Syria.
"This is going to be a mission that will take not just months but years but I believe we have to be prepared for that commitment," he said while answering a question on the length and scope of the mission.
The group, also known as ISIS or ISIL, has used tactics that have included beheadings of soldiers, Western journalists and aid workers.
It could have as many as 31,000 fighters in Iraq and Syria, according to the CIA.
Also Read
British aid worker David Haines was beheaded by the terror group. Haines, 44, was seized in Syria in 2013 and was being held by IS militants who have already killed two US journalists.
All three main political parties in the UK - the Conservatives, Liberal Democrats and Labour -back UK military participation in bombings against IS in Iraq, which the coalition says is legal because it was requested by the Iraqi government.
"This is not the stuff of fantasy. It is happening in front of us and we need to face up to it," he said.
IS, he said, had "already declared war on us and there was no walk on-by option".
"It is our duty to take part. It is about protecting people on the streets of Britain," he added.
About 179 British personnel died in Iraq between 2003 and 2009 and the last British troops left the country only in 2011. Around 500 Britons are believed to have travelled to fight with IS.
Parliament is due to vote on UK involvement at the end of a seven-hour debate in the House of Commons later this evening. If the vote is passed, the UK would join the US and France in launching targeted strikes on the IS group in Iraq.