The main function of the validation subset is to stop training if it's error rate increases continually for 6(default) straight epochs.
The reason? The purpose of designing a net is for it to be able to generalize by working well on nontraining data.
The secondary function is to choose the best of multiple (typically 10 to 20) designs.
Then a completely unbiased estimate of performance can be obtained via the test subset.
Hope this helps.
Thank you for formally accepting my answer
Greg