I use both Supermemo and Fullrecall. (And tested many of the free alternatives, usually very shortly though.)
As for the algorithmical difference, I don't dare to go into what's better, nor most users would be interested in that anyway. Piotr Wozniak had some interesting thoughts on the shortcomings of neural network implementation...on the other hand David the FR author thinks neural network is better and more flexible and adjusting to your learning patterns. Fullrecall's algorithm is more "behind the curtain" while with SM you have more reporting and generally get better feel for what's going on behind the curtain.
Also FR aims for maximum retention, while Supermemo allows you to set certain percentage, so called forgetting index, which significantly influences the effectiveness of your learning (time spent on using the software).
Both are relatively strong cross-platform wise, but Fullrecall is much better in that aspect.
Fullrecall is better with Unicode. Supermemo improved recently, but it doesn't have complete Unicode support yet.
If you need to use sounds for example, SM has native player, while FR runs any player on the computer. I found that rather annoying (with FR) over time, but maybe I didn't configure it well, not sure....
SM is much more flexible, if you need to author something more complex than simple question and answer. Or make sure to check the incremental reading technique.
SM has cluttered interface that's target of ongoing complaints, but you can switch to Beginner or Basic level, which is OK for majority of users anyway.
Both require that you use them every day, and both have some provisions if you miss some longer time to avoid "messing the system".
FR uses XML files for database (secondary, natively it has own format) if you wish to manipulate db programmatically, SM uses own db format but can export to XML.
SM has much better reporting functions.
What's rather important for many: if you mark item that you don't know it in Fullrecall, it will schedule next repetition usually in X days (depends how far you are in the learning process, and what neural network learned so far). Whereas with SM, it will keep such item for daily review at the same day (so called final drill). Some people can't be without that, some people just ignore the final drill, your choice.
My choice:
Fullrecall for : cross-platform needs, languages like Japanese (Unicode), or just for plain amazed by having neural network learn your learning patterns (there was even some graphical report for that, sadly removed in recent versions), GUI simplicity.
Supermemo for : sounds, incremental reading, one platform without syncing needs, text formatting and richer authoring features, you more in control (eg. setting different forgetting index for some exam where you pass with 50% of points and different for a field where you need to remember 80-90%, will save you time)
My hacks to use foreign language using flashcards:
1) first learn the item, then enter it into flashcard software
2) don't use it for the easy items - keep your database as small as possible to maximize effectiveness, unless you have plenty of free time
3) use longer sentences, where words are in context, instead of just one word for question and one word for an answer
4) Visit the forum on
www.how-to-learn-any-language.com for fantastic community with foreign language learning tips