Over-fitting causes predictions to be too sensitive to noise in data, while under-fitting simplifies the data too much. You counter those by using training and test sections of data, possibly with cross-validation.