¿Cuál es la ventaja de usar los submódulos de git en lugar de tener un repositorio dentro de otro repositorio con un gitignore?

Hemos estado buscando en los submódulos de git y nos preguntamos qué ventaja (si hay alguna) está en tener un repositorio que use los submódulos y los versos que tienen un repositorio en otro repositorio con un archivo .gitignore.

Ejemplo sin submódulos:

mkdir a
cd a
git init
touch test1.txt
echo "b" > .gitignore
git add .
git commit -m "Adding test1.txt and gitignore"

mkdir b
cd b
git init
touch test2.txt
git add .
git commit -m "Adding test2.txt"

git log
cd ..
git log

Respuestas a la pregunta(1)

Su respuesta a la pregunta