The end all, be all of Commodore flash carts is, in my opinion, the 1541 Ultimate (1541u).
Many earlier Commodore flash carts (like the MMC64 and the 1541-III) only support "single file" programs. If you want to play "defender.prg" then those devices will do it. However, any games that's a multi-loader (something that loads from the disk multiple times) won't work with those. I don't know about the MMC64, but the 1541-III doesn't support writing back to images.
The 1541u is essentially a replacement for the 1541 disk drive. It reads and writes D64 disk images. With a second floppy disk drive attached, you can copy data back and forth between D64 disk images (which is what emulators use) and real floppy disks. The Commodore literally sees mounted D64 disk images in the 1541u as real disks. For all intents and purposes, it's 100% compatible.
There have been three releases of the 1541u. The first two are discontinued.
1541u (the original, discontinued): this is the one I own. For most people this device does 100% of anything you would ever need. For serious, hardcore users, this device does 98% of anything you would ever need. I don't believe this version supports d71 or d81 disk images, but it does support d64 and g64 ones (all I've ever used).
1541u + ethernet (1.5, discontinued): the second run of the 1541u added an ethernet port and supported networking. I guess it didn't work great or didn't work for everyone the same way because it got dropped.
1541U-II (current model): the current version of the 1541u is the 1541U-II. It no longer has ethernet, but now uses micro-sd cards instead of plain sd, emulators dual disk drives, supports USB sticks, and had a few other features. The II supports tape images along with reading/writing to g64, d71, and d81 disk images. It also supports stereo SID files and a few other new features, like Super CPU emulation and a real time clock.
All the new features on the II are thing you couldn't do on a stock Commodore 64 anyway. The C64 wasn't in stereo and I never had a Super CPU (I couldn't even tell you what supports it and/or uses it) and it never had a real time clock so there's no point in me upgrading. The original works great -- no, PERFECTLY -- for my needs. I still say to this day it's the greatest single peripheral I ever purchased for a classic computer, period. I'm so, so happy with my purchase.
When/if you get one, check the torrents/newsgroups for the GameBase 64 collection, which is essentially every single game ever released for the Commodore 64, in d64 format, ready to go. Dump it on an SD card and, boom, you have 20,000 C64 programs ready to play.
Current price for the 1541u is 129 pounds, which according to Google is $205. Worth. Every. Penny.
The closest competitor to the 1541u is the
Chameleon. HOWEVER this device is currently in BETA and not all features work and it's still in development and some of the people associated with the project don't have a great track record of supporting their projects for the long run. So, buyer beware.
Episode 109 of You Don't Know Flack was dedicated to the 1541 Ultimate:
http://podcast.robohara.com/?p=38
Also, I have somewhere around 4 or 5 spare Commodore 64 power supplies out in the garage. If yours doesn't work, let me know.