 <p>Firstly, the k-means clustering algorithm doesn't necessarily produce an optimal result, thus that's already a fairly significant indicator that it might have different results from different starting points.</p> <p>It really comes down to the fact that each cluster uses the points in its own cluster to determine where it should move to - if all the clusters find their way to the centre of their respective points, the algorithm will terminate, and there can be multiple ways this can happen.</p> <p>Consider this example: (4 points indicated by <code>.</code> and 2 clusters indicated by <code>x</code>)</p> <pre><code>. . . x . x x versus . . . x . </code></pre> <p>Both the left and the right side have converged, but they're clearly different (the one on the right is clearly worse).</p> <p>To find the best one you can pick the result that minimizes the sum of square distances from the centres to each of the points classified under it (this is, after all, <a href="http://en.wikipedia.org/wiki/K-means_algorithm#Description" rel="nofollow">the goal of k-means clustering</a>).</p>