This question was asked by Joshua from Banbury, UK.
Although snow and hail are similar (they’re both cold and fall from clouds for a start!) they form in different ways. Snow is made when water vapour turns into ice without becoming liquid; the ice crystals collide with each other and gradually form snowflakes. Any kind of rain cloud can contain snow if the air is cold enough. Hail can only form in cumulonimbus clouds; water droplets freeze and begin to fall downwards through the cloud, only to be blown back upwards by the wind. As it begins to fall back down again the droplet collects more water which also freezes, so the drop becomes bigger. Then the wind gusts it back up again. This can go on for some time, but eventually the frozen droplet becomes too big and heavy for the wind to carry it any more and so it falls as hail.
There’s also something called soft hail. This is formed in the same way as regular hail, but it happens when the air temperature near the ground is warmer than the air the cloud is in. The ice begins to melt a little as it falls through the warmer air, so that by the time it hits the ground it’s more like a tiny snowball.
There’s also sleet, but this requires very specific weather conditions for it to form. There must be a layer of cold air near the ground whose temperature is below freezing, then higher up a layer of warmer air. Above that there must be clouds containing snow. As the snow falls through the layer of warmer air it melts (turning into rain), or partially melts but refreezes as it hits the coldest layer of air (turning into ice pellets). This is why sleet is a mixture of rain and ice.