É uma forma barata e simples de você prevenir erros. Não tem muito o que explicar. Sempre que você recair numa situação que “fica sub-entendida”, garanta que ela irá ocorrer colocando uma asserção.
Se por um acaso você inserir um erro no seu código, e essa situação falhar, ao invés do código simplesmente ignorar o fato e sair executando de maneira errada, ele gera uma exceção e te indica que o erro ocorreu.
Só lembrando que em código de produção as asseções são desligadas e, portanto, não devem ser usadas no lugar das RuntimeExceptions ou Exceptions.