There are lots of different equations to predict the weather. Some work better than others in certain situations. In recent years, ensemble forecasting has become popular. In ensemble forecasts we run several different weather models with slightly different initial conditions or different equations and compare the results. A 20% change of rain essentially means that 20% of the model results suggest precipitation for a particular area. A 20% chance could be interpreted as "most of the models say there won't be rain, but there is enough instability in the atmosphere that if the conditions are actually like model X suggest, we could get rain." Obviously, if all the models in agreement there is higher confidence in the forecast and we can say there is a 100% chance of rain.
All the below images illustrate ensemble forecasting. The goal is to generate many possible solutions to the weather. This bigger picture helps in many ways determine what possible weather to expect. As you can see, every version of the weather model produces a slightly different result. We try to express these possibilities in terms of a confidence, or a percentage. It's common practice to average the results, but it is not always best to base forecasts solely on an average of the possibilities. A better way to approach weather forecasting is to keep in mind all the possible circumstances. They way I interpret "20% of of rain today" is this: We have the ingredients for rain today, but based on the collection of weather simulations, we are only 20% confident those ingredients will mix just right for the rain to occur.