Machine learning has been around for decades as Optical Character Recognition (OCR). However, it has increased popularity over recent years. There are multiple dichotomies in machine learning: supervised versus unsupervised, online versus batch, instance based versus model based learning to name a few.
Machine learning is the practice of programming a computer to learn from data.
A spam filter is an example of supervised machine learning.
The examples that is uses to learn are called training sets with each example being a training instance (or sample). As the program gains more experience through the training set data of each task you a measure of the performance needs to be defined and accuracy measured for each classification task.
A benefit of using machine learning versus rule based programming for a spam filter is that spammers could just change the content of their emails to get around the filter and the programmer would have to write more rules to compensate. With machine learning the program will notice the trend that the content pattern has been high among spam flagged by users and starts to flag them without your intervention.
Machine learning can help humans learn and do well with big problems that are either too complicated for traditional approaches or there are not any known algorithms to support a solution.