What is overfitting and underfitting?

Overfitting and underfitting are common problems in Machine Learning that affect how well a model performs.