Why is it bad to use the same test dataset over and over again?
In fact this will introduce some bias to your model because you will distinctly choose a model that performs well on the testing set. This is indeed what bias consists of. Ideally you would want to have a training set, a validation set and a testing set. You will only use the testing set right before writing the spec of your model. If the performance is much poorer than expected at this very last step, then you need to restart from the top. Get new data to reduce "the polluting" of the testing set and retrain and validate until you are satisifed then use the testing set.

Consider if your testing set does not generalize well on the actual distribution, this may be improbable but it is possible. Then a good model will perform poorly on this test set, however it would otherwise be a good model if you did not bias your decision using your test set.