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: 
If we have a pressure shock front travelling very fast through the material it is an explosion. The reaction inside the explosive is started by the sudden pressure rise, not by a temperature rise. But when the solid rocket fuel burns, we have a nearly constant pressure inside the rocket and no travelling shock front. The thermal conductivity of the fuel is much slower, the reaction in a deeper level of the propellant only starts when the temperature is high enough there. The outer layers of the propellant stay cool and protect the walls of the rocket from high temperatures. If the solid rocket is reuseable, the walls should not be damaged in the last seconds of the burn when the reaction zone comes close to the walls.
Surface area, pure and simple. The more surface area visible, the faster the burning will occur. 

As to what separates them from explosives, it is that the propellant is so tightly bound that only the surface can burn. If there are cracks, then solid rockets can in fact explode, so they are very carefully manufactured.