The CAP theorem states that a distributed system can only provide two out of the three guarantees: Consistency, Availability, and Partition Tolerance.