K-means clustering is very popular because it is fast, simple, and robust. It also has some disadvantages: the biggest being that the user has to specify the number of clusters. Second, the algorithm does not guarantee global optima. Third, it is very sensitive to outliers.