Redis é um armazenamento de valores-chave . Normalmente, você pode inserir um valor primitivo (int, string, bool) ou uma matriz de primitivos em uma única chave. A recuperação de dados geralmente é limitada à consulta por chave. Esses são os bancos de dados NoSQL mais básicos.
Cassandra é uma loja de família de colunas . É semelhante a um armazenamento de chave-valor, mas oferece suporte ao aninhamento de pares de chave-valor de até cerca de quatro níveis de profundidade. A consulta é limitada à consulta por funções de key e map-reduce. Esse tipo de banco de dados tem um modelo de dados bastante difícil (a 'supercoluna' soa bem?) e é altamente especializado para quantidades extremamente grandes de dados.
MongoDB e CouchDB são ambos bancos de dados de documentos . Ambos armazenam documentos JSON, que não são restritos por um esquema, oferecendo muita flexibilidade. O banco de dados permite consultar o conteúdo desses documentos, o que facilita muito a recuperação de dados, em comparação com outros tipos de bancos de dados NoSQL. Funções de redução de mapa também são suportadas.
A resposta de Martin Fabik contém alguns bons links para comparações de MongoDB e CouchDB.
Ayende tem uma série de posts no blog chamados That No SQL Thing que lida com cada um desses tipos. É uma boa introdução ao conceito NoSQL, aos diferentes tipos de bancos de dados NoSQL e como consultar cada um deles. Eu recomendo que você leia seus artigos sobre os tipos de banco de dados que mencionei acima, eles são muito instrutivos!