When a shell explodes, we get several pieces with different kinetic energies but the momentum is conserved since no external force is acting. But the sum total of the kinetic energies of the pieces is more than the original kinetic energy of the shell. Now by conservation of energy, work must be done to change kinetic energy of a system. This work is done by the internal forces. But for conservation of momentum, the internal forces should add to zero. Hence there should be no net force and hence no work.Then why is the momentum conserved if the internal forces do work?
The answer is straightforward. As we know that energy can neither be created nor be destroyed the total energy before and after an event must remain constant. The key word is total energy. Before the explosion the bomb (or anything you're bursting) had potential energy in the form of chemical energy.
When you ignite it you provide enough energy to break bonds, that further provide the energy for throwing the materials outwards. The kinetic energy was zero initially but as you might remember from the law of conservation of energy the total energy is conserved.
If you manage to calculate the chemical energy stored in the bond by using bond energies and compare it to the kinetic energies of shell materials you'll see that they are equal.
Think about when you throw a ball upwards. At each point in the trajectory the total energy i.e. the sum of Kinetic and potential energy was the same. At the top of the trajectory the kinetic energy is zero but we still say that energy was conserved, right? Because we're looking not just at Kinetic energy but at the total energy
One thing is that the internal forces cancel out each other .so momentum is conserved. But this is just for understanding purpose. We are anyway talking about the whole system so we must ensure whether any impulsive force is acting or not which will bring change in momentum . If not then momentum is conserved in both directions