This topic is dealt with in most biochemical and molecular biological texts — there is a useful summary in Alberts et al.. However it may be useful to clarify this point as this is a fundamental question, the answer to which could not be anticipated.
Both 2 and 3 are correct, but 1 is incorrect.
As regards 2, it turns out that there is a single aminoacyl-tRNA synthetase for each amino acid and this recognizes all the different tRNAs for that amino acid. This is even true of initiator and elongator tRNAs for methionine. This implies that even though the anticodons of these tRNAs differ (or their conformations in the case of the two tRNAs for methionine) there is some common distinguishing feature of the tRNAs that the enzyme recognizes.
As regards 3, this relates to the phenomenon of wobble, the possibility of specific relaxed patterns of hydrogen bonding at the third position of the codon. This decreases the number of tRNAs required to decode the codons corresponding to a particular amino acid.
In principal neither of these features is neccesary for the degeneracy of the genetic code. They just reduce the number of molecular species (enzymes and tRNAs) required for decoding. One assumes that the practical advantage of this was sufficient to ensure its development and retention.
Coda
Nature is an anarchist, and although the above statements are generally true there are always exceptions. For example, some bacteria have developed ways of managing with fewer than the 20 expected aminoacyl-tRNA synthetases. But if one starts by understanding the general situation one is then in a position to accommodate the exceptions. A highly-cited review of aminoacyl-tRNA synthetases can be found in Ann. Rev. Biochem. for 2000.