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.