A distributed system is a collection of independent computers that appear to the users of the system as a single coherent system. They improve computational performance and availability but bring complexities like fault tolerance, synchronization, and network latency.