Emulating an NES is a pretty simple task these days -in fact, you can run almost the entire console's library in a browser. As such, no specific emulator has a dramatic advantage over the others; still, some are a bit more user-friendly for creating speedruns, some are a bit more compatible with Japan-only Famicom Disk System games, and some have slightly less controller input lag (though typically only on the order of milliseconds).
My go-to NES emulator is FCEUX, which does all of the above smashingly well and is very simply to boot.
Most emulators for older consoles are distributed as simple .zip archives without any installer, and FCEUX is no exception to this rule. Unzip it and run the .exe; then go to File, Open ROM, and you're good to go.
Also of note for the NES (and for a handful of other older consoles, including every incarnation of the GameBoy and PC-Engine, aka Turbografx) is Mednafen- a multiplatform emulation front end that gathers some of the most efficient bits and bobs from other emulators (including, for the NES, FCEUX) under a single roof. While I appreciate that it replaces several shortcuts on my already-crowded desktop, its cleverest feature is its ability to rewind any game at the touch of a button.
Yes, that's rewind, just as in Prince of Persia. But unlike Prince of Persia, which accomplished this impressive feat by constantly remembering the previous 10 seconds' worth of information about the game in progress, Mednafen simply stores the most recent several intervals of the emulated console's RAM, exactly as though it were creating a save state every half-second. While this wouldn't be feasible with modern games (the Xbox 360, for example, has 512MB of RAM, which even the fastest solid-state drive couldn't quite save on the fly), the NES has only about 4KB of memory, making the whole process as effortless as it is ingenious.
Most users will want to download a GUI to avoid pulling their hair out trying to make the emulator work with the default command-line-only interface, but don't worry: There's a fine one available from SourceForge. Just drop both of the .exe files in the same directory, run the one that corresponds to the GUI program, and click the Open ROMmenu item.
Find your next job with techworld jobs