Many clouds are sustained by upward currents, either thermals or generated by a front, that also determine their vertical extension. However this would be an incomplete answer.
Look at the clouds as regions where temperature and pressure are such that water molecules can condensate. If a water drop leaves that region without being big enough, it just evaporates again. At the same times new water molecules coming from outside, condensate into that region as long as the "cloud condition" stays there. Look at this or this time-lapse videos of wonderful lenticular clouds where the wind blows but due to the turbulence of a mountain, the cloud region stays fixed!
Talking about volcanic ash clouds, where you cannot have re-evaporation, be sure that particles will fall down sooner or later.
Regarding your second question, the answer is about the amount of water that is taken into the cloud. Cumulonimbus, for instance, are generated by strong thermal currents that pushes up there a lot of humidity. The same process on a much weaker scale leads to cumulus that do not bring any rain. Only when a lot of droplets are there, they can start to collide effectively and increase their mass until they are able to leave the cloud without evaporating.
An extreme case in this scenario is the virga, this phenomenom happens when the rain is capable to leave the clouds, but evaporates before hitting the ground. It is not so uncommon: if you live at low altitude, you may be able to see it in hot summer days!