Why this matters
1000 nodes in a Cassandra cluster. Each needs to know about the others — who's alive, what ranges they own, their load. Centralized approach (one server polls all 1000) creates a SPOF and a bottleneck. Broadcasting (each node tells all 999 others) creates N² messages — 1M pings per cycle. Neither scales.
Gossip protocols (based on epidemic spreading) are the middle way: each node randomly picks a few peers each second, exchanges state, and in logarithmic time the whole cluster learns everything. It's what Cassandra, DynamoDB internal, Consul, Redis Cluster, and Hashicorp Serf all use for membership and failure detection.