Oi Matheus, tudo bom?
Sem a interface AcaoAposGerarNota, no exemplo do video, seria impossivel receber esse tipo no método addAcao:
public function addAcao(AcaoAposGerarNota $acao) {
$this->acoes[] = $acao;
}
Sem isso, seria necessário criar um método para cada tipo de Ação ou utilizar herança.
Criar uma classe pra cada seria espalhar diversos pontos de manutenção e a herança, se comparada a interface, gera um acoplamento muito maior.
Normalmente, interfaces não mudam muito ao longo do tempo. Tanto nos frameworks quanto nas linguagens as interfaces quase não são alteradas. Isso porque, com a interface o acoplamento é menor mas não é nenhum =)
Ou seja, quando você altera uma interface, sim, vai gerar pontos de manutenção. Mas, a ideia é justamente que não haja essa necessidade (e projetos grandes comprovam que normalmente não há mesmo).
Abraço