It seems they both perform clustering. They both reduce the dimensionality of the input data and classify further inputs based upon their distance/similarity to the center points. These points then update to accommodate the new data.
I am yet to understand how these two methods are different. I suppose it depends on the problem to be solved. How could each be suited to different problems (advantages/disadvantages)?