Question: SRBs and missiles use [grain](https://space.stackexchange.com/questions/14107/ways-to-obtain-thrust-curves-of-different-grain-geometries) 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?

Answer: 
I've asked [the same question](https://chemistry.stackexchange.com/questions/54282/how-is-combustion-speed-regulated-in-solid-propellants) on Chemistry.SE and got some more factors than mentioned in the answers here.

* flexible binding agent (rubber), that prevents forming cracks under pressure, is essential to maintaining stable, low deflagration rate vastly lower than in blasting charges of the same composition.
* modifying ratio of oxidizers (perchlorate, ammonium nitrate) regulates the speed; perchlorate burns faster.
* catalysts like carbon and metals can increase the deflagration rate.
* [MIL-STD-286C.](http://everyspec.com/MIL-STD/MIL-STD-0100-0299/MIL-STD-286C_8618/) defines a method of determining linear burning rate of propellants.

So, essentially, first - applying a rubber-like binder is the critical part that reduces deflagration rate to "propellant speeds". Then, through "trial and error" the rate can be fine-tuned - adapted to requirements of construction, geometry and purpose of specific SRB/missile - through modifying oxidizer composition and catalysts. The final part is the grain shape inside the rocket, which regulates how area of deflagration changes over time, regulating thrust of the rocket over time - and the nozzle area, limiting the pressure (and deflagration rate) inside the SRB.
A propellant deflagrates, rather than explodes. The difference between them is that deflagration relies on the thermal energy of the flame front, rather than the energy of the shockwave caused by detonation.

The key to this process is a [balance](https://en.wikipedia.org/wiki/Deflagration#Flame_physics) between two factors, the activation energy of the propellant and the temperature at which the propellant burns. This balance is set against the thermal diffusion of the propellant. If the heat cannot diffuse fast enough into the propellant, it won't stay lit. If it diffuses too fast... well... you wondered what keeps them from going boom?