Overfitting
Overfitting of a neural network occurs when the model is trained too much on the training data or when the model is too complex, and so begins to become good at predicting the training data. This causes the model to appear to have good performance while training, however it will have a much worse performance when used on new data. As a result of overfitting, the model fits too closely to the training data, and so cannot generalise to new data.
Underfitting
Underfitting of a neural network occurs when the model is too simple to predict the underlying pattern of the data. This causes the model to have poor performance both in training and with new data. As a result of underfitting, the model does not fit to the data, and so cannot predict the trend in the data.