Introns sometimes allow for alternative splicing of a gene, so that several different proteins that share some sections in common can be produced from a single gene. The control of mRNA splicing, and hence of which alternative is produced, is performed by a wide variety of signal molecules.
Introns also sometimes contain "old code," sections of a gene that were probably once translated into protein but which are now discarded. This is cited as a piece of evidence in support of evolution.