Guess this would make a good interview question.
Another benefit is that you don't have to decide on a maximum string length. Initially, they probably would have chosen a uint16 for the length, but over time we would have had to add uint32 and uint64. Old code doesn't completely fade away, so we would have had three similar but not-quite-compatible string types for all time.
A small further benefit is that strings with the same suffix can share the same storage.
I suspect there's more that I'm missing.