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.
Some introns are actually ribozyme?s that are capable of catalyzing their own splicing out of the primary RNA transcript. They remove themselves on their own.