When you watch the local weather report on the evening news, you always hear the "current temperature." It may be, for example, 32 degrees Fahrenheit (0 degrees Celsius) outside. That is useful information, but if it is precipitating, it is only one part of the puzzle.
It turns out that the atmosphere is layered, and these layers control the form that precipitation will take. The local weather report only gives us the ground-level temperature. In order to understand sleet, snow and freezing rain, what we would need is perhaps four to six different temperature readings at different altitudes.
Precipitation starts in the cloud as snow. As it falls, it may travel through a layer of air that has a temperature greater than 32 F (0 C). This layer melts the snow into rain. If the temperature at ground level is below freezing, then the water may refreeze in the air and we get sleet. Or, if the layer of sub-freezing air at ground level is thin, the precipitation falls as rain but then freezes once it touches a freezing object on the ground.
For snow to fall, all of the layers of air that the snow falls through once it leaves the cloud must be sub-freezing.
The warm middle layers are normally caused by the movement of warm fronts or cold fronts through the area. In the Southeast, temperatures often hover around 32 F so the form of precipitation can change all the time. In more northern areas, the temperature is well below freezing, so snow is a sure thing.
Here are two interesting links: