Assuming that all new files are in (or can be moved to) new/ and all old files are in old/ directories, you can use 'diff -ur old/ new/' to see the differences in files between the directories.
If you don't care about the nature of the differences, only the fact that some files are different then use grep to filter the output - but you will lose the exit code from diff (1 = differences found). Instead you can use the exit code from grep (1 = no regexp matches found, which you can interpret to mean that all files are the same).
e.g. i generated some text files in old and new (just rubbish containing directory listings of /bin, /sbin, and /etc). then i edited new/baz and deleted some lines:
$ ls -l new old
-rw-r--r-- 1 cas cas 11063 Sep 15 15:27 baz
-rw-r--r-- 1 cas cas 14529 Sep 15 15:25 foo
-rw-r--r-- 1 cas cas 6843 Sep 15 15:24 bar
-rw-r--r-- 1 cas cas 12025 Sep 15 15:24 baz
first, compare the two dirs:
$ diff -ur old new | egrep '^(Only|diff)'
Only in old: bar
diff -ur old/baz new/baz
Only in new: foo
$ echo $?
here you can see the exit code when the src and dst dirs are the same (or have exactly the same content)
$ diff -ur old old | egrep '^(Only|diff)'
$ echo $?
you could also use cmp, but it can only match individual files, it can't recursively check two directories for differences. you'd have to write a for loop wrapper around it, and you'd have to take into account files that exist only in new but not in old. easier to use diff.