Hay una distinción entre los dos (énfasis mío):
si no se puede abrir un archivo de destino existente, elimínelo y vuelva a intentarlo
elimine cada archivo de destino existente antes de intentar abrirlo
En el primer caso, si el archivo se puede abrir, cp
intentará reemplazar sólo el contenido. cp
no va a eliminar el archivo innecesariamente. Esto conservará los permisos y las propiedades del archivo original, a menos que especifique que también deben copiarse.
El segundo caso es útil cuando el contenido no se puede leer (como enlaces simbólicos colgantes).
y:en caso de que el archivo de destino tenga múltiples enlaces (hardlinks), --remove-destination no destruirá el contenido de los otros enlaces. En su lugar, solo se elimina el enlace del destino (ahora sabemos por qué "eliminar" se llama "desvincular" en funciones más profundas del sistema) y se crea un nuevo archivo con un nuevo inodo.