Internal forces cancel in pairs
Consider two objects — call them 1 and 2 — that interact only with each other: two carts colliding, two skaters pushing off, two magnets snapping together. By Newton's third law, whatever force object 1 exerts on object 2, object 2 exerts an equal and opposite force back on object 1. These two forces are always equal in size and opposite in direction.
Because the internal forces are equal and opposite, the momentum one object gains, the other loses. The total momentum's rate of change is exactly zero.
That last equation is the whole theorem in one line: if the only forces are internal, the total momentum \vec{p}_1 + \vec{p}_2 has zero rate of change, meaning it is constant. It does not matter how complicated the interaction is — momentum given by one body is exactly momentum taken by the other.
The conservation law
Generalize from two objects to any system of particles. The internal forces still cancel in pairs, so only external forces can change the system's total momentum. If the net external force is zero — the system is isolated — the total momentum is conserved.
The law of conservation of momentum. It holds separately for each direction: x-momentum and y-momentum are each conserved.
Recoil and rockets
Conservation shines brightest when a system starts at rest and then flies apart. A stationary skater throws a heavy ball; a rifle fires a bullet; a balloon lets go of its air. The total momentum began at zero, so it must stay zero: the ball's forward momentum is exactly matched by the skater's backward momentum. This backward kick is recoil.
Recoil from rest: the lighter piece flies off fast, the heavier one drifts back slowly, their momenta equal and opposite.
A rocket is recoil repeated millions of times a second: it hurls burnt fuel backward and is pushed forward in return. This is genuine rocket propulsion, and it is why a rocket works in the vacuum of space with nothing to push against — it pushes against its own exhaust. The forward push is the thrust. Notice this is a case where mass is not constant, so we truly need \vec{F} = d\vec{p}/dt, not F = ma.