Oii Wallace, tudo bem?
No Python, um dicionário é uma estrutura de dados que armazena pares de chave-valor. Quando você usa colchetes, como em contagem_palavras[palavra], você está acessando o valor associado à chave que está entre colchetes. No caso, palavra é a chave.
A função get, por outro lado, é um método dos dicionários que também permite acessar o valor associado a uma chave, mas com um diferencial: você pode definir um valor padrão para ser retornado caso a chave não exista no dicionário. 
Um exemplo, se você fizer contagem_palavras.get(palavra, 0), o Python vai retornar o valor associado à chave palavra se ela existir no dicionário. Se a chave não existir, ele retorna 0.
Então, os colchetes não definem que queremos receber os valores como lista, eles são usados para acessar o valor associado a uma chave em um dicionário. E o método get não representa a chave que vai receber o valor, mas sim uma forma de acessar o valor de uma chave com a possibilidade de definir um valor padrão caso a chave não exista.
Espero ter ajudado.
Um abraço e bons estudos.