I have found that NES emulation, while good, always has some flaws. Some emulators aren't user friendly; others get the color palette wrong. Here are the best emulators available.

NESten Homepage Very good emulator for Windows, supporting Direct Draw and Direct Input (so you can use a joystick). It does get the colors slightly wrong, though. This is the emulator I use.
BioNES Download from Zophar's Domain Excellent emulation, but it has no GUI and can be slow on old computers. It runs the CPU execution rate based on your monitor's refresh rate, which sometimes leads to gameplay that is too slow or too fast.
NESticle Homepage This used to be the best emulator around, but it isn't updated anymore. It does have some cool options, runs at high speed, and has great compatibility.