SVM and k-means are very different. SVM is supervised (supervised classification) and k-means is unsupervised (clustering). so it depend on the goal of your application.
for supervised classification, SVM is the best algorithm and you need to precise je most efficient kernel (linear, RBF, etc...). for clustering, k-means is one of the simplest way to aggregate samples. For clustering, it already exist another approach such as Fuzzy methods. in the case of k-means two parameters needs to b taking account. the number of cluster a priori (classes) and the metric such as euclidian, mahalanobis, etc...
Classification and clustering are different tasks in data mining.
If you want to classify unknown samples into groups based on a target variable (classification), you may use SVM or other classification techniques such as artificial neural network, decision tree, k-NN, naive Bayes, or other ensemble techniques.
If you just want to group instances into clusters based on all variable without any target variable (clustering), you may use k-means which is the most popular algorithm for partitional clustering or you may try hierarchical clustering.
Classification and Clustering are separate things. K-Means is the baseline method for clustering and it has many limitations , this is a great paper to start with
Jain, Anil K. "Data clustering: 50 years beyond K-means." Pattern recognition letters 31.8 (2010): 651-666.
Classification SVM is one of the most robust classifiers.
The SVM is a type of Supervised classifier and K-means is a clustering tool that is unsupervised. Both are very different from each other. During classification there is a set of features used as training set consisting of feature values with predefined class names and during testing classifiers tries to assign a class name to a new object with some features. But in case of clustering the unknown objects are divided into clusters depending on some relationship between them. You can not tell any classifier or clustering technique is better or best. It all depends on the type of data and features that are used for feature extraction. The feature dimension is also a big factor in case of constraints like computational cost.
For your reference you can read the paper suggested by Mr. Goswami before and also you can read the following:
Boris Mirkin, "Mathematical classification and clustering: From how to what and why", Classification, Data Analysis, and Data Highways Studies in Classification, Data Analysis, and Knowledge Organization, pp 172-181, 1998.
You can not tell any classifier or clustering technique is better or best.
It all depends on the type of data and features that are used for feature extraction. The feature dimension is also a big factor in case of constraints like computational cost.
See:
Jiawei Han, Micheline Kamber, and Jian Pei, Data Mining: Concepts and Techniques. Morgan Kaufmann, 3rd ed. , 2011
For classification you will use k-nearest neighbor instead of k-means. It works pretty well for sparse high dimensional data. You can even combine k-means and SVM. If you are interested may be you want to take a look to an ICANN 2002 paper on clustering with SVMs you can find in my publication list.
You should know what is your input or initial knowledge.
Next, you must concentrate on what you exactly want the method to bring or do for you.
If you want to have an automatic clustering you can try K-means or fuzzy c-means clustering methods with just determining the number of clusters you want. and if you have not to determine also the number of cluster center by yourself you can try AHFCM method wich produces initial optimise cluster number for fuzzy c-means algorithm.
On the other hand, if you want to do a classification and use reference data, you can use SVM method of classification.
I like this resource (link) about clustering so much. Maybe it is all said by now, but it still can be interesting for someone reading this question :) >>> https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists-need-to-know-a36d136ef68