A resposta a essa pergunta é simples:
Porque você pode!
Simples assim, quando comecei a trabalhar com Shell Script, meus códigos eram uma zona, parecia que eu nunca tinha programado na minha vida.
Conforme fui me aprofundando, comecei a usar funções, variáveis locais, traps, opções da linha de comando, arrays, e isso tornou meus códigos mais simples, limpos e com certeza mais reaproveitáveis.
O uso de arrays deve ser incentivado, já que é quase impossível se trabalhar com muitos dados sem usar uma estrutura mais complexa do que o simples var=1.
Mas lidar com array em shell não é tão trivial, devido a sua estrutura, e não prestar atenção no que está fazendo pode deixar o seu programa inconsistente, principalmente em shell já que ele não dá diversos erros que outras linguagens dariam por erros simples.
Lembre-se que o shell não erro se uma variável não foi inicializada, ele simplesmente ignora e retorna vazio, essa é umas coisas que você deve se preocupar quando estiver manipulando os arrays.
Quando não usar?
Os arrays são relativamentos novos no mundo do SS, eles são implementados pelo bash e as versões mais antigas não suportam esse tipo de estrutura. Então usar um array significa diminuir a possibilidade de portar o seu script ou programa, para um outro
Linux mais antigo, ou para outro que shell que não o bash.
Se você está buscando portabilidade o array não é uma boa, já que somente o bash atualmente possui essa capacidade, então o foco aqui é apenas em scripts que rodarão em bash novos, todos os exemplos que darei aqui são rodados em um:
Debian
GNU/Linux SID
Bash version 3.1.17
Também não é aconselhável utilizar arrays quando temos poucas variáveis, assim como um switch case é inútil para apenas dois valores, usar um array para poucos valores apenas trará lógica desnecessária para o programa, mas como sempre digo isso é tudo uma questão de bom senso; às vezes vale a pena ter um array para 3 valores, às vezes não vale a pena tê-lo para 10, embora sejam situações bem mais raras.