Data is denormalized (no relations)
Redundant data that can be inconsistent
Requires understanding access patterns ahead of time
Can scale both reads and writes
Can ingest inconsistent formats (some schemaless formats)
Distributed problems (CAP Theorem)
May come with a language that looks like SQL but has huge caveats that are non-obvious.