Snort's decoders look at the structure of the packet and retrieve things like IP headers. Preprocessors are in charge of things such as reconstructing fragmented packets and tracking protocol streams such as HTTP. They are also capable of generating alerts for suspiciously formed packets or other conditions much like regular snort rules.
By including the preproc.rules and decoder.rules files you can enable the alerts built into the decoders and preprocessors that you may have loaded and enabled in snort.conf. If the rules are not included snort disables the alerts.
Older versions of snort enabled these alerts by default and required alerts to be suppressed if they were not required which was harder to manage.