產生後坐力的原因是動量守恒。
炮彈在離開炮管之前,整個火炮的動量總和為零。炮彈出膛之後,炮彈攜帶了壹定的動量,但整個火炮的動量總和還是為零,即炮管必須有壹個反向的動量——速度和炮彈的速度相反——這個動量就是後坐力的來源。
無後坐力炮也是使用動量守恒的原理發射炮彈的,不同的是它的炮管不會後退,取而代之的是炮彈的壹部分碎片:炮管本身就是壹根通管,但炮彈在發射時會變為兩部分,彈頭部分從炮管前端射出攻擊目標,剩下的部分以碎片的形式從炮管後部拋出(避免傷及射手),兩部分的動量差不多,並且反向,即產生兩個反向的後坐力並且相互抵消,射手感到的後坐力就很小了,因而射擊精度也提高不少。