In any model of a natural system, there exist error and uncertainty. It is important to realize that no model is perfect, and that the uncertainty can come from many different sources.
First is the variability of observations and forecasts. The chances of measurement error and modeling error always exist. Along with the modeling errors are the estimates used for particular parameters, or model states. For instance, the rainfall over a watershed is an estimate based on measurements. It is very possible that the average rainfall used in a model is not the same value as the rainfall that actually fell.
Along this same line, there will always be missing or incomplete knowledge. Sometimes the historic observed record will not have exceptionally rare events. Often the complex natural system is simplified, there are scales issues depending on the size of an area or the time period being examined, or perhaps some type of empirical relationship is used.
Finally, there are human factors to take into consideration. The judgment, experience, and training an individual has can influence the final forecast product.