Cassandra uses consistent hashing to partition and distribute data across nodes in the cluster. Each node is assigned a random position on a ring based on the hash value of the partition key. This allows data to be evenly distributed when nodes join or leave. Cassandra replicates data across multiple nodes for fault tolerance and high availability. It supports different replication policies like rack-aware and datacenter-aware replication to ensure replicas are not co-located. Membership and failure detection in Cassandra uses a gossip protocol and scuttlebutt reconciliation to efficiently discover nodes and detect failures in the distributed system.