De acordo com [1], a diferença é que >| redireciona a saída para um arquivo, mesmo se a opção noclobber estiver configurada.
A opção noclobber é definida pela opção de linha de comando do bash -C e impede a substituição de arquivos pelo redirecionamento [2]. Quando a opção noclobber é configurada, ls >| out sobrescreve o arquivo out , enquanto ls > out não.