rmdir
é mais seguro: ele se recusa a remover um diretório se contiver arquivos. E se você estiver tentando remover o diretório errado ou o diretório ainda contiver arquivos (possivelmente ocultos) necessários?
Existem também motivos históricos : no início, o programa rm
não tem um -r
switch, então rmdir
foi necessário para remover diretórios. Naquela época, rmdir
era um programa não trivial, mas hoje é apenas um wrapper para a função rmdir(const char*)
C.