If you have three replicas in casandra and you want your reads to be consistent, you would have to read from at least two replicas . This doubles the number of iops to the disk subsystem. Most disk based storage systems are bottlenecked by random iops, and a solution that requires double-the-iops is a non-starter.
With cassandra you choose where the extra reads (or writes) to ensure consistency occur as best suits your use case:
* At write time (write quorum) like a traditional replicated datastore
* At read time (read quorum)
* In the background (read one, with a non-zero chance of read repair)
This is quite nice to be able to bend Cassandra on a use case by use case basis (NB: these are not cluster wide approaches, for different columns / circumstances i can choose different patterns).