What determines whether precipitation is in the form of rain, snow, hail, sleet, etc?
This is not as simple as I have made it sound, since the temperature aloft is important too.
Rain, starts as a liquid or solid higher in the atmosphere. As it falls it enters warmer air and melts. The surface temperature must be above freezing, usually by a few degrees.
Freezing rain, forms as a solid and then passes through an above freezing level layer in the atmosphere (where it turns liquid). It then falls to a below freezing level (but does not refreeze). The surface temperature has to be below zero (generally speaking)
Ice pellets, form the same as freezing rain but the surface temperature is much colder so it refreezes.
Snow, forms as a solid from accretion of ice crystals or by stealing water from liquid water droplets (this is called the Bergeron effect and I will explain it if anyone ever asks about it). It falls as a solid. Surface temperatures are below freezing.
Sleet is just wet snow, it forms like snow but the surface temperatures are right around freezing.
Hail is a bit more exciting. It forms as a solid or a liquid in large thunderstorms. The droplets fall and melt but are caught in strong updrafts, taking the precipitation back up below the freezing point. It then falls and melts and gets carried back up. Each time this happens more and more layers of ice and water are formed on the precipitation until it reaches a size that the updrafts are no longer stronger than gravity. Then it falls to the Earth.
Hail melts the whole way down so the hail that hits the ground is much smaller than the hail in the cloud. I have hear reports of hail that hits the ground the size of a baseball being almost the size of a basketball.