Use Cassandra when you need real time HA cross datacenter without having to manually fail over
Use Cassandra when you're going to need to grow our database cluster often and don't have tooling to handle resharding
Use Cassandra when you do millions of simple queries (per second), not a handful of complex JOINs
I've used Cassandra at 3 different employers now, and I can't imagine using anything else for many use cases, but there will always be some where it's the wrong choice.
When you need a key value store that can easily and mostly consistently and with low latency replicate across multiple data centers (or aws regions), in multi master setups.
In all other cases you'll probably be better off with Postgres, MySQL or similar.
Use Cassandra when you're going to need to grow our database cluster often and don't have tooling to handle resharding
Use Cassandra when you do millions of simple queries (per second), not a handful of complex JOINs
I've used Cassandra at 3 different employers now, and I can't imagine using anything else for many use cases, but there will always be some where it's the wrong choice.