Nit: flight termination system does not cause the rocket to magically vanish. It will still continue on its current trajectory and impact Earth somewhere. It just causes the rocket to stop thrusting and, IIRC, disperses the fuel/oxidizer so that we don't end up with large quantities of fuel/oxidizer in a small area on ground.
Indeed, all it does is break up the rocket. Depending on when it happens during the launch we might still end up with a fireball near the ground (unlikely to be near anything inhabited, though, as there's a lot of free space around launch sites) or with a quickly disintegrating rocket because it's already at high speeds.
There will still be debris, of course, but I guess the reasoning is that it's preferable to have relatively small debris, than one large piece of exploding debris.
Size of debris is not that important: lots of small pieces will cause a similar amount of damage as the same mass in a large piece.
Two important roles of flight termination are:
1. Cause the rocket to stop thrusting (and thus prevent it from thrusting out of range safety exclusion zone).
2. Cause the propellant tanks to be destroyed. This prevents the propellants from causing a large explosion on the ground (when the tanks hit the ground) in preference to a conflagration in the air.