Compare the command that you entered above with this one:
find /Volumes/master\ catalogue\ cr2\ and\ jpeg -iname '*.cr2' -exec mv {} /Volumes/14\ tb\ 1\ /cr22/ \;
Above command is also using the code <> formatting here in the ASC forum. Here’s the button that inserts that:

There are two differences between the command you’ve tried (above), and this (corrected) command. One, the exec command should be -exec with the leading dash character, and second, the quote on the filename is an angled quote and not a vertical quote. The unterminated single quote (the angle quote doesn’t end the string) is why you got that quote> response, and how I knew a quoting error was lurking somewhere.
Before running the corrected command, I would suggest testing with the following (using slightly different syntax):
find "/Volumes/master catalogue cr2 and jpeg" -iname '*.cr2' -exec ls {} \;
Here’s the full and corrected command, using quoted strings on thenfile specification and not backslash escapes:
find "/Volumes/master catalogue cr2 and jpeg" -iname '*.cr2' -exec mv {} "/Volumes/14 tb 1 /cr22/" \;
And the prompts-interactively-for-each-move version, which I’ve used for testing:
find "/Volumes/master catalogue cr2 and jpeg" -iname '*.cr2' -exec mv -i {} "/Volumes/14 tb 1 /cr22/" \;
If the mv command is working as expected, quit the command (^C, etc) and re-specify the mv command without the -i.
In general… The shell wants vertical single quotes, and vertical double quotes, and GUI tools and this ASC forum text input box prefer to use the angled versions of these characters.
PS: The destination path with the training space on that intermediate directory looks wrong. You’ve shown it in your command, but I suspect that trailing space does not exist on that directory name. Which means using this:
find "/Volumes/master catalogue cr2 and jpeg" -iname '*.cr2' -exec mv {} "/Volumes/14 tb 1/cr22/" \;