O fato de a variável ser digitada fornece algumas propriedades que uma variável genérica não terá:
f() {
v=0xff
echo $v
v=hello
echo $v
v=123a
echo $v
}
f
declare -i v
f
imprimirá
0xff
hello
123a
255
0
bash: 123a: value too great for base (error token is "123a")
Se você tiver certeza de que sua variável conterá apenas valores inteiros, digitá-la dará a você alguma flexibilidade e verificação de erros.