son diferentes cosas.
Primero que nada, fijate en el manual de
find. Su parámetro exec ejecuta, para cada archivo encontrado, el comando que se le pase.
En este parámetro, {} se utiliza como variable: se sustituirá cada vez con el nombre del archivo encontrado.
Ejemplo, si en el directorio hay dos archivos ("a", "b"), la salida de
sería
a
b
¿se entiende?
\; delimita el comando que debe ejecutarse via -exec.
-- es un parámetro especial para muchos comandos, indica que terminó la lista de parámetros. Sin él, no sería posible eliminar archivos cuyo primer caracter fuese -. Si tengo un archivo de nombre "-hola", y pruebo
el comando fallará porque rm no admite un parámetro "hola". La forma correcta es
donde -- le dice a rm "terminó la lista de parámetros, todo lo que viene después son nombres de archivo".
Saludos.