Polymerases can be classified by the type of nucleic acid they produce (DNA or RNA) and the type of template they require (DNA, RNA, or no template). A DNA-dependent DNA polymerase is a protein that synthesizes DNA on a DNA template. An example of this type of enzyme is DNA polymerase delta, the main DNA polymerase responsible for replicating DNA in eukaryotes. As the name implies, an RNA-dependent DNA polymerase synthesizes a strand of DNA using an RNA template.
Viruses are interesting to biologists in part because their genomes are very small and they therefore can make a limited number of proteins. Thus, viruses have to be efficient and many of their proteins can perform roles that are normally performed by a number of different proteins in prokaryotes or eukaryotes. HIV reverste transcriptase (RT) is one such example.
RT has three different enzymatic activities. It is has RNA-dependent DNA polymerase activity, DNA-dependent DNA polymerase activity, and RNase H activity (it degrades RNA in an RNA/DNA hybrid structure). All three activities are required for HIV to convert its single-stranded RNA genome into a double stranded DNA for integration into the host's genome. An interesting question in the field of polymerase enzymology is how RT switches between these different activities. Although it is not published yet, some really single molecule experiments have proposed that RT does "gymnastics" on its DNA or RNA substrate, physically flipping itself around to switch between these different activities.