Machine Learning is the general study of programs that learn from data. Machine Learning algorithms can be used to write software that we don't know how to write directly (e.g., spam filters, image classification, handwriting recognition, etc.).
This is a huge and broad topic. My goal is to give an introduction. Regardless of what type of software you write, chances are there are ways to employ some type of machine learning or data analysis algorithm to do something cool.