Most of the time with Macs it starts happening when you have hardware failure. It happens way more on Windows and Linux because of the much larger range of supported devices and drivers and the varying quality of the drivers for them. Most drivers running in Darwin as made by Apple. It's also the reason Microsoft created a certification program for device drivers for Windows.
Though, most of my OS X kernel panics were due to a GPU slowly going bad and randomly corrupting memory (both under OS X and Linux, when in a particular graphics mode).
QNX is the only OS that I've pushed hard and never seen a kernel panic. BeOS was nice in that my (userspace) ethernet driver would crash overnight most nights, and I'd wake up to a prompt saying "I'm going to restart the crashed driver? Okay?", but I could reliably kernel panic BeOS with some dodgy semaphore code in userspace.