On OS X 10.8 I was looking at my /bin folder and found that cd was not there, but rather in the /usr/bin folder. Why is that? From the FHS (Filesystem Hierarchy Standard. I know that /bin should contain essential binaries, i.e. those required when no other filesystems are mounted. Is cd not essential enough? (by the way, it appears the "su" command is also in /usr/bin). Now, I know that OS X doesn't follow strictly the FHS, but is there a reason for these different location of binaries?
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.
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.