OS X cd command in /usr/bin instead of /bin
cd is a shell builtin, and has to be a builtin to work. If it were executed as a normal command, it'd run as a subprocess, change that subprocess's directory, and then exit... having no effect at all on the parent shell's directory.

As for su: the fondamental distinction between /bin and /usr/bin is that /usr/bin might be on a different filesystem from the root, and hence not be available early in the boot process; thus /bin (and /sbin) must contain all of the commands needed early in the boot process. On OS X, su apparently isn't needed during boot.