Machine learning allows computers to learn without explicit programming by analyzing data to recognize patterns and make predictions. It can be supervised, learning from labeled examples to classify new data, or unsupervised, discovering hidden patterns in unlabeled data through clustering. Key aspects include feature representation, distance metrics to compare examples, and evaluation methods like measuring error on test data to avoid overfitting to the training data.