In some cases, vertex and fragment shaders share classes/structs/data.
Some engines like Unity require them to in the end be in one file, and currently converting vertex and fragment shaders separately results in duplicate structs and variables when just naively merging them back together.
Being able to pass vertex + fragment together would probably solve this.