Emulation is generally the process of running software specifically designed for one memory/machine code/whatever architecture, and running it on another through the use of custom software. A good example of this is emulation in ROM hacking. For instance, in SNES ROM hacking, your average hacker will likely have the program "ZSNES" on his/her computer. This program will run a game written for the Super Nintendo, and in 65816 assembly, and allow it to run on an intel x86 architecture, or other system it is compatible with.
There is a nearly infinite list of emulators that are available for use. These emulators comprise hundreds of systems, from computers to consoles to your latest handheld gameboy (or DS). Thus, it is nearly impossible to list out all the know emulators.