This is for Chuck and Courtney primarily, but may be able to benefit others as well, so I'll post it here.
If you need to study for something that requires memorizing large amounts of facts, definitions, etc., I strongly recommend Mnemosyne.
This is not really software for cramming. It is for building a strongly persistent knowledge base over time. It is based on the principle of spaced repetition.
Basically, it's a "flash card" system of question and answer pairs that you create for yourself. Then each day, you open the software and answer the cards the system selects for you. Based on how you score yourself, the system schedules the next repetition. That's it in a nutshell. The benefits are you will spend LESS time memorizing (because people spend way too much time on things they know and not enough on what they don't) AND material will be more thoroughly settled into memory through daily repeitition. There is a lot of science behind it, but you don't need to worry about it.
It's free and runs on everything.
http://www.mnemosyne-proj.org/
Be sure to read the suggested guidelines for forming question/answer pairs. (For example, larger numbers of simpler QA pairs are better than fewer number of more complex pairs.) It's an art itself, overall, the system works well if you don't over think it. Again this is not really for cramming (though it does have a cramming mode), but deeply embedding knowledge.
Really you could use it for a huge range of things. I'm using to finally take my Japanese from high intermediate to advanced and later for project management material. Chuck wants to use it for studying for some electrician's exam, Courtney for nursing related exams.