Mac OS X uses Mach-o executable format and FreeBSD Unix uses ELF executable format. OS X uses FreeBSD Unix, correct me if I'm wrong. Then why does the Executable format in OS X differ from that of FreeBSD Unix?
Very short answer: OSX combines a Mach kernel with a BSD Unix toolset and libraries. The Mach heritage (via NeXTSTEP) lead to the use of Mach-O as the executable format.
See this answer for more details: https://unix.stackexchange.com/a/713/24313