Support Vector Machines (SVM) is a supervised learning algorithm developed by Vladimir Vapnik, first introduced in 1992, and is widely used for classification tasks including text, image recognition, and bioinformatics. The algorithm aims to find the optimal separating hyperplane by maximizing the margin between class samples, thus enhancing its generalization performance while also employing the kernel trick to handle non-linearly separable data. Limitations include challenges in selecting appropriate kernel functions and dealing with non-linear data, which are mitigated through the use of soft margins for better classification accuracy.