Anki. The quest for omniscience.
If any piece of software can make you know everything at all times, Anki must be that tool, enabling you to memorize facts for the rest of your entire life no matter how many you are trying to remember at once. It uses a flashcard based system utilizing the spaced-repetition learning method. What this means, is it only shows you a flashcard again when the knowledge of it has begun to fade. This means that although it might initially show a card again in a day or two, eventually it will start waiting years between reviews if you really have it down.
I've used this tool to help me in my college Spanish class, during the AP testing, while learning new programming language constructs, and everything in between. Its effectiveness has proven to be godly, and I firmly believe that there is no faster way to learn new facts or study old material. With just ten minutes invested every day, you can remember every fact you've ever tried to learn while adding in new ones.
Plus, it has a HUGE community of followers and you can access thousands of public decks for everything you can imagine, from cloud formations to AP Biology facts. You can view and download these decks from https://ankiweb.net/shared/decks/, and download the actual software from http://ankisrs.net/. It also has a mobile app for both iOS and Android that syncs your cards and study data between your devices.
This tool is an absolute must-have for everyone and is especially useful for current students. Even if you don't intend to know all things at all times, you can gain incredible value from just putting in a couple minutes a day to remember key facts.
I'm a heavy user of anki, especially in my japanese learning, and I agree that it is one of the most efficient tool to help one remember things. Optimized repetition has its limits though, and I often find myself overwhelmed by too much cards. For language learning, I'm not sure that spending time rehearsing vocabulary anki is more efficient than reading new material (or, probably the best, expressing oneself in that language in a new setting), but it would be extremely interesting to test that.
I find that language learning cards are very quick to go through. If I have 300 cards to practice, all it takes is a quick glance at the foreign or English side to recall, and I can finish a card in less than a second, so it would take at most 5 minutes to go through them all, but usually a lot less. It can get a bit tedious, but is definitely not too slow.
I used to use Anki a lot for vocabulary learning, also sentence mining. Great tool!