Cluster analysis is an unsupervised machine learning technique that groups similar data objects into clusters. It finds internal structures within unlabeled data by partitioning it into groups based on similarity. Some key applications of cluster analysis include market segmentation, document classification, and identifying subtypes of diseases. The quality of clusters depends on both the similarity measure used and how well objects are grouped within each cluster versus across clusters.