What would I prefer - an over-fitted model or a less accurate model? Let's say we have two models trained. And let's say we are looking for good accuracy. 
The first has an accuracy of 100% on training set and 84% on test set. Clearly over-fitted.
The second has an accuracy of 83% on training set and 83% on test set. 

On the one hand, model #1 is over-fitted but on the other hand it still yields better performance on an unseen test set than the good general model in #2. 

Which model would you choose to use in production? The First or the Second and why?
There are a couple of nuances here.


Complexity question very important - ocams razor
CV - is this trully the case 84%/83% (test it for train+test with CV)


Given this, personal opinion: Second one.

Better to catch general patterns. You already know that first model failed on that because of the train and test difference. 1% says nothing.