Além das melhorias óbvias de legibilidade (assumindo funções bem nomeadas / com escopo definido), isso também tem a grande vantagem de fornecer um ponto de abstração para a funcionalidade.
Vamos fingir que você tem 30 lugares no código onde deseja usar essa funcionalidade, e você não coloca um wrapper de função nele. Então, se essa funcionalidade precisa mudar, você precisa encontrar e alterar isso em 30 lugares, o que é muito propenso a erros (especialmente no JS, onde as ferramentas de refatoração são imaturas na melhor das hipóteses).
Se estiver em uma função, basta alterar o conteúdo da função (alteração de um código de ponto) e o restante é isolado.
Talvez o seu código específico na pergunta não seja o melhor exemplo de como isso pode ser importante, mas é um conceito muito strong em geral, IMNSHO. Eu não uso muito a palavra 'sempre', mas eu prefiro sempre preferir um wrapper de função apenas para esse ponto de abstração, independentemente dos benefícios nomeados / organizacionais adicionados.
Na verdade, sua função é um exemplo decente do meu ponto. Se você (por algum motivo que eu não consigo entender no momento, mas isso é além do ponto) queria mudar como você escapar da string ou fugir da regex, você teria que mudar apenas o corpo da função, não encontrar cada lugar onde você usa RegEx.escape