Cluster computing involves linking together independent computers as a single system for high availability and high performance computing. A cluster contains multiple commodity computers connected by a high-speed network. There are different types of clusters like high availability clusters that provide uninterrupted services if a node fails, and load balancing clusters that distribute requests across nodes. Key components of clusters are nodes, networks, and software. Clusters provide benefits like availability, performance, and scalability for applications. However, limitations include high latency and lack of software to treat a cluster as a single system.