Synonymous substitution

A synonymous substitution (often called a "silent" substitution though they are not always silent) is the evolutionary substitution of one base for another in an exon of a gene coding for a protein, such that the produced amino acid sequence is not modified. This is possible because the genetic code is "degenerate", meaning that some amino acids are coded for by more than one three-base-pair codon; since some of the codons for a given amino acid differ by just one base pair from others coding for the same amino acid, a mutation that replaces the "normal" base by one of the alternatives will result in incorporation of the same amino acid into the growing polypeptide chain when the gene is translated. Synonymous substitutions and mutations affecting noncoding DNA are often considered silent mutations; however, it is not always the case that the mutation is silent. 
A synonymous mutation can affect transcription, splicing, mRNA transport, and translation, any of which could alter the resulting phenotype, rendering the synonymous mutation non-silent. The substrate specificity of the tRNA to the rare codon can affect the timing of translation, and in turn the co-translational folding of the protein. This is reflected in the codon usage bias that is observed in many species. A nonsynonymous substitution results in a change in amino acid that may be arbitrarily further classified as conservative (a change to an amino acid with similar physiochemical properties), semi-conservative (e.g. negatively to positively charged amino acid), or radical (vastly different amino acid).
Degeneracy of the genetic code.
Protein translation involves a set of twenty amino acids. Each of these amino acids is coded for by a sequence of three DNA base pairs called a "codon". Because there are 64 possible codons, but only 20-22 encoded amino acids (in nature) and a stop signal (i.e. up to three codons that do not code for any amino acid and are known as stop codons, indicating that translation should stop), some amino acids are coded for by 2, 3, 4, or 6 different codons. For example, the codons TTT and TTC both code for the amino acid phenylalanine. This is often referred to as "redundancy" of the genetic code. There are two mechanisms for redundancy: several different transfer RNAs can deliver the same amino acid, or one tRNA can have a non-standard wobble base in position three of the anti-codon, which recognises more than one base in the codon.
In the above phenylalanine example, suppose that the base in position 3 of a TTT codon got substituted to a C, leaving the codon TTC. The amino acid at that position in the protein will remain a phenylalanine. Hence, the substitution is a synonymous one.
Evolution.
When a synonymous or silent mutation occurs, the change is often assumed to be neutral, meaning that it does not affect the fitness of the individual carrying the new gene to survive and reproduce.
Synonymous changes may not be neutral because certain codons are translated more efficiently (faster and/or more accurately) than others. For example, when a handful of synonymous changes in the fruit fly alcohol dehydrogenase gene were introduced, changing several codons to sub-optimal synonyms, production of the encoded enzyme was reduced and the adult flies showed lower ethanol tolerance.
Many organisms, from bacteria through animals, display biased use of certain synonymous codons. Such codon usage bias may arise for different reasons, some selective, and some neutral. In "Saccharomyces cerevisiae" synonymous codon usage has been shown to influence mRNA folding stability, with mRNA encoding different protein secondary structure preferring different codons.
Another reason why synonymous changes are not always neutral is the fact that exon sequences close to exon-intron borders function as RNA splicing signals. When the splicing signal is destroyed by a synonymous mutation, the exon does not appear in the final protein. This results in a truncated protein. One study found that about a quarter of synonymous variations affecting exon 12 of the cystic fibrosis transmembrane conductance regulator gene result in that exon being skipped.