SRBs and missiles use grain to regulate thrust over time, as only exposed surface of the propellant burns.
But what causes propellant to burn only on the surface, and regulates the speed at which the surface burns? Surely not atmospheric oxygen supply (which is what causes similar property of free-burning solids) as it has oxidizer distributed throughout the volume; there's no apparently clear reason why the solid fuel couldn't just burn all at once throughout the volume; something puts it apart from common explosives which are effectively just that, a kind of fuel and oxidizer mix that burns all at once all throughout the volume, in enclosed space, releasing all the combustion products at once.
So - what chemical additives or properties set solid propellants apart from explosives?