Devemos levar em consideração a semântica das palavras "prático" e "aplicação". Para alguns alunos, prático é qualquer coisa que os ajude a passar nos exames; para outros, qualquer coisa que surja em um emprego. Nos dois casos, a Teoria dos Autômatos é realmente muito prática.
Como outros apontam, você usará gramáticas, por exemplo, ao estudar compiladores. Mas mais do que isso: entender todo o conceito de ter diferentes estados e regras para transições entre eles pode torná-lo um programador melhor quando você percebe, por exemplo, que seu código é redundante aqui e ali, e que quando você o aprimora, você estão aplicando no seu código as mesmas idéias conceituais por trás da minimização do DFA.
Da mesma forma para "aplicação". O que você entende por essa palavra? Mesmo se você for um "engenheiro pé-no-chão", verá e usará idéias semelhantes às da Teoria de Autômatos em projetos do mundo real: código de programação, diagramas de fluxo e até o conceito simples e brilhante de pilha. Para nerds teóricos como eu, considero aplicações da Teoria de Autômatos em outras áreas, como lógica, álgebra e teoria de modelos finitos. Certamente, provavelmente nunca precisarei usar o lema de bombeamento durante as compras em um supermercado, mas teoremas como esse me ajudaram a entender a estrutura de certas classes de idiomas, sem mencionar as estruturas lógicas e algébricas com as quais estão em correspondência. E isso é algo que eu valorizo mais do que qualquer medida de praticidade.