I think it’s just a standard convention that’s been adopted in machine learning. The idea is to use the training dataset to fine tune your model, a validation dataset to assess and reassess the performance of the trained model for over-fitting purposes, and the test dataset is used to test the completed model.
The split should be as uniform as possible to not influence any sort of bias within the data.