The majority of C++ projects I work with use them. Telling people not to use a core git feature isn't viable
I used to be one of the more vocal defenders of C++ but honestly, if the reason you’re defending git submodules is because there’s no better option in C++; then you’ve basically already lost the argument.
Nearly every other language has found a better alternative. Even Go has, and that’s largely mocked for its prehistoric approach to modern programming language design.