The first reason is that the genetic code is redundant. This means that even though different codons have different matching t-RNAs and therefore usually different amino acids, some codons are matched with t-RNAs carrying the same amino acid. A single amino acid may be coded for by more than one codon. In consequence, if mutations in the DNA result in a codon change in the RNA, this does not necessarily imply an amino acid change of the encoded polypeptide. The same amino acid could be coded for by the original and the mutated codon.
Secondly, mRNA is made up of introns and exons. Only exons are used during translation and introns are spliced out prior to translation. If a mutation takes place in the DNA that will then be spliced out as an intron, this mutation has no effect on the amino acid sequence of the encoded polypeptide.