Several reasons, either the version of diff, or the versions you have of the libraries which diff depends.
Find out whether diff is a true binary, a symbolic link, or part of busybox by finding out what is invoked when you call diff; use the "which" command.
Try getting the version of diff, or seeing if it gives you help if the -v option does not work.
Finally, use ldd to print your shared library dependencies on each machine and you may see a difference in the versions of the libraries each version of diff uses.
Code:
me@my-desktop:~$ which diff
/usr/bin/diff
me@my-desktop:~$ diff -v
diff (GNU diffutils) 2.8.1
Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
Written by Paul Eggert, Mike Haertel, David Hayes,
Richard Stallman, and Len Tower.
me@my-desktop:~$ ldd /usr/bin/diff
linux-gate.so.1 => (0xb7809000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb77e6000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb768c000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7672000)
/lib/ld-linux.so.2 (0xb780a000)