K-means 알고리즘은 간단한 알고리즘으로 대규모에 적용이 가능하며 주어진 자료에 대한 사전정보 없이 의미 있는 자료구조를 찾아낼 수 있다는 장점이 있지만, 한계점이 존재한다. 첫 번째는 클러스터의 개수 k값을 입력 파라미터로 지정해주어야 한다는 것이다. 이 알고리즘은 k값에 따라 결과의 값이 완전히 달라질 수 있다. k값을 어떻게 주느냐에 따라 클러스터링의 결과가 극명하게 달라지며, 좋지 못한 결과를 보여줄 가능성이 있다. 두 번째 한계는 알고리즘의 초기값을 어떻게 주느냐에 따라 최적화의 결과가 global optimum이 아닌 local optimum으로 빠질 가능성이 있다는 것이다. 또한 이 알고리즘은 이상값에 민감하다. 이상값이란 다른 대부분의 데이터와 비교했을 때 멀리 떨어져 있는 데이터를 의미한다. 이러한 이상값은 알고리즘 내에서 중심점을 갱신하는 과정에서 클러스터 내의 전체 평균 값을 크게 왜곡시킬 수 있다. 따라서 클러스터의 중심점이 클러스터의 실제 중심에 있지 않고 이상값 방향으로 치우치게 위치할 수 있다. 마지막으로, 이 알고리즘은 구형(spherical)이 아닌 클러스터를 찾는 데에는 적절하지 않다. 왜냐하면, 이알고리즘은 유클리드 거리를 사용하기 때문에 알고리즘 수행 시 중심점으로부터 구형으로 군집화가 이루어지게 된다. 따라서 만약 주어진 데이터 집합의 분포가 구형이 아닐 때, 클러스터링 결과가 예상과 다를 수 있다.
K-means 알고리즘의 장점은 자료에 대한 사전 정보 없이 의미 있는 자료구조를 찾아내고 대량으로 적용할 수 있다는 점이다. 반대로 단점은 클러스터의 개수 K값 입력에 따라 결과가 달라질 수 있는 점, 알고리즘이 다른 대부분 데이터와 멀리 떨어져 있는 이상값에 민감하다는 것, 이 알고리즘이 유클리드 거리를 사용하기 때문에 구형이 아닌 클러스터를 찾는데 적절하지 않는 점이다.