Support vector machines (SVMs) are a supervised machine learning algorithm that uses a hyperplane to classify data points by finding the optimal decision boundary that separates all data points of one class from another. SVMs work by finding the hyperplane that maximizes the margin between the two classes, making it a robust classifier. They are well-suited for binary classification problems and can perform nonlinear classification using kernel methods to transform data into higher dimensions.