Overview
The validation set is the 'middle ground' between the training set and the test set. It is used to make decisions about the model's architecture and settings (hyperparameters).
Why it's Needed
If you use the test set to tune your hyperparameters, you are 'leaking' information from the test set into your model, and your final performance estimate will be overly optimistic.