Momentum ideas are useful in explaining explosions. If we blow up a balloon and then burst it, the pieces of rubber fly off in all directions.
The momentum of the balloon was zero before the explosion and therefore the total momentum of all the pieces of rubber after the explosion must also be zero. It is important to remember here that momentum is a vector and so the direction of motion of the pieces is important.
The recoil of a cannon can be explained in the same way.
Before the cannon is fired, the momentum is zero and so after firing the momentum must still be zero, the momentum of the shell is equal and opposite to that of the cannon.
A simple way of looking at it is this. If the shell is 100 times lighter than the cannon then the shell will move off 100 times faster than the cannon recoils. Remember that in explosions the lighter portion moves off faster than the heavier one.
In our animation the cannon is 10 times heavier then the shell and so it recoils with a tenth of the speed of the shell.