In this web page you can find simple explanations about 32-64 bits (Kernel and Applications) in OSX snow leopard:
https://www.Ahatfullofsky.Comuv.com / english / programs / sms / sms.html
————————————————
Why would Apple Do That?
The problem is compatibility with third-party Drivers. Some programs are so deeply intertwined with the OS that they reach deeply into its bowels and modify its core, The Kernel – these Drivers are called Kernel extensions (or kext).
Rule
32-bit processor can only run 32-bit stuff.
64-bit processor can run 32-bit and 64-bit stuff.
(stuff can be system, Kernel, Applications, Drivers, Etc)
I know you need a 64-bit processor to run 64-bit anything
On a 64-bit processor:
32-bit Kernel can run both 32 and 64 bit Applications.
64-bit Kernel can run both 32 and 64 bit Applications.
32-bit Kernel can only load 32-bit kexts (Kernel extensions).
64-bit Kernel can only load 64-bit kexts (Kernel extensions).
If a program uses 32-bit Kernel extension (like the PC emulator vmware fusion) then that extension will not run in a 64-bit Kernel. So until they update their kext the program will not run if you start the Kernel as 64-bit. However the program will run late if the Kernel stays 32-bit, Even if the application itself is 64-bit)
The ability to start up with a 64-bit Kernel (by booting while holding 6 and 4) is meant for developer so they can start developing 64-bit Kernel extensions. The average user never really 'needs' to be in 64-bit Kernel – in fact, You would not want to have a problem with your 32-bit Kernel extension, Would you?