Cluster analysis is an unsupervised machine learning technique used to group unlabeled data points that are similar to each other. It identifies commonalities between data points to categorize them into clusters, with each cluster containing data points that are most similar to each other compared to data points in other clusters. The goal of cluster analysis is to segment a heterogeneous population into homogeneous subgroups to gain insights into natural groupings within the data.