Vi que muita gente não entendeu o que foi feito na expressão regular, então tentarei explicar.
"//" delimita o início e o fim da expressão regular;
"\s" busca por 1 espaço em branco;
"\S" busca por 1 caractere que não seja espaço em branco;
"+" busca o que está à sua esquerda 1 ou + vezes.
Assim, \S+ busca por 1 ou + caracteres sem espaço(s) em branco.
Exemplo:
"Eu sou feliz"
As ocorrências encontradas serão "eu", "sou" e "feliz", isto é, 1 ou + caracteres que não possuem espaços em branco em sua composição ("eu sou" não pode ser uma ocorrência pois tem um espaço em branco ali no meio).
Show. Agora vamos ao split. Ele divide a string de acordo com o que foi especificado dentro dos parênteses. No nosso caso, ele irá usar como separador as ocorrências da Regex.
Portanto, o retorno de $(".campo-digitacao").val().split(/\S+/) será um array cujos elementos são espaços em branco, já que utilizamos como separador as ocorrências da Regex, isto é, os caracteres que não sejam espaços em branco.
Retornando ao exemplo anterior:
"Eu sou feliz"
O array retornado será: ["", " ", " ", ""]
Essas strings vazias ("") são o "espaço" antes de "Eu" (começo da string) e o "espaço" após "feliz" (final da string).
Perceba que seu length é 4, apesar de termos 3 palavras. Por isso, subtraímos 1.