Although SuperMemo was the original, and remains the most advanced, it has been far surpassed in usability by its open source children.
In short: for the technique I describe on this site in how I passed the 2kyuu, I think the best program currently is Mnemosyne.
Mnemsosyne is simple and effective. It does what you need (though sometimes in a slightly primitive fashion) and it does it right now; it will also continue to do so in the future. For this reason, I give it my highest recommendation.
Anki, on the other hand, needs work-- but it is getting that work, and in a year or so it will probably be worth another look. However, even as Anki matures it will be different than Mnemosyne and SuperMemo, which are fairly similar in function and attitude.
Indeed, one could say Mnemosyne is an open source clone of SuperMemo that has a much better interface and is more stable at the cost of limited features. Both are part of long term research projects into human memory.
Anki, on the other hand, has a lot of great features but is not as stable as Mnemosyne and has some minor interface problems, most of which can be fixed, but these require you to reconfigure the program.
The great thing about open source, though, is you don't have to worry about developers making it purposely hard for you to use other software later (like MS Office). Data can be shared between Mnemosyne and Anki (and Anki can even import Mnemosyne learning data, though this data import isn't perfect). So, I recommend trying Mnemosyne first, but if you find yourself constantly clamoring for more features, then consider Anki.
Discussion of this review continues in the forums.