Submodules are pinned by commit hash. It prevents an attacker from replacing a release.
But, yeah, while I do not like submodules, for vendoring stuff it seems a reasonable approach. There's also https://github.com/fosskers/vend if you lean that way.