Underfitting occurs when a machine learning model is too simple to capture the underlying patterns in the data, resulting in poor performance on both the training data (low accuracy during learning) and test data (low generalization ability). This contrasts with overfitting (B), where a model performs well on training data but poorly on test data due to excessive complexity.