The long path is to enable fat binaries - remembering that Cocoa has run on Motorola 68k's, Intel x86's, Sparcs, and now PowerPC's.

The Finder uses directory wrappers - basically directories that have certain extensions look to the user like single files. So Emacs.app is a directory but it looks like a file to the user. Inside it has the icon file - usually as a .tiff, and below Contents are different binaries for different architectures. There's also a resources folder with common stuff including any libs or frameworks and additional subdirectories for localized resources. All very unixy - no gimmicky resource forks like the old macos.

None of this is visible to the casual user - he just double clicks the pretty icon and the thing opens. Or you can say 'open filename' and the launch service will do the right thing.

However, when something refuses to launch, you may wish to run the program from the command line - now you need to know which executable exactly because 'open' will redirect IO to the console just like the Finder does.