Here's a good high-level comparison of some popular choices for NoSQL engines. NoSQL (also known as Key-Value Stores or KVS) is generally useful when dealing with huge data sets. For example, if you need to store a cache of the tweet-stream of every twitter user, a NoSQL solution will often be good. Then again, even for this apparently ideal task, more traditional Relational Databases like MySQL can be suitable (see this article on how FriendFeed did it).
The article is very technical but worth reading to get a good idea of the overall features of each solution. As antirez, author of Redis, puts it:
I like this article: while it is for sure not the definitive guide to NoSQL, it is a short description mostly about facts that people new to the field can use to get an idea about what a good candidate could be for initial experimentation, given a defined problem to solve.