There are two primary, actively developed C64 emulators,
VICE and
CCS64. Both are fantastic emulators and each have their own strengths and weaknesses.
CCS
CCS has the advantage of being the most compatible and cycle-exact emulator. It runs pretty much anything you throw at it including the most complex demos and games. It's only available for DOS/Windows, though. CCS has better support for disk drive emulation, with the latest beta versions supporting bad GCR simulation and disk density.
VICE
There are two main advantages to VICE- it's open source and therefore portable, which means you can run it on lots of different computers, operating systems, and processors. It also emulates a lot of extra hardware such as ethernet adapters, RS232 adapters, etc.
I added my simple "bad GCR" simulation patch to the latest VICE, version 1.17. This allows VICE to work with games that check for bad GCR protections by randomizing the GCR read from the disk when it encounters $00 (zeroed) bytes in the G64 image. This is not exactly how a CBM drive works, but it's enough to pass the protections that need it and doesn't hurt real data. The images that need this have to be processed with N2G using the -F' switch, as it does not zero out bad GCR by default.
(11/10/06 - A fatal bug has been reported in VICE 1.17 that makes it unusable for long periods of time, so I reverted the patch to 1.16)
You can download my patched binaries, then just unzip and drop it into your WinVICE directory and use it instead of the main executables.
In accordance with the GPL, here is the complete source to VICE with my patch in drive/rotation.c..
I compiled it with MinGW and MSYS, and it's optimized for i686 (my main CPU is an Athlon XP).