KNN is a simple machine learning algorithm that classifies new data points based on their similarity to existing stored data points. It works by finding the k nearest neighbors of the new data point based on a distance measure and assigning the most common class (for classification) or average value (for regression) of the k nearest neighbors. Though conceptually simple, KNN can solve complex problems with little information needed and no explicit training. However, it requires storing all training data and is sensitive to representation and feature selection.