Win9x and Win2k (and the other NT descendants) are fundamentally different operating systems. In general, NT had a much more robust kernel, so system panics were and remain mainly hardware issues, or, particularly in the old days, dodgy drivers (which is just another form of hardware issue). I've seen plenty of panics on *nix systems and Windows systems, and I'd say probably 90-95% were all hardware failures, mainly RAM, but on a few occasions something wrong with the CPU itself or with other critical hardware like storage device hardware. There were quite a few very iffy IDE cards back in the day.
The other category of failure, various kinds of memory overruns, have all but disappeared now as memory management, both on the silicon and in kernels, have radically improved. So I'd say these are pretty much extinct, except maybe in some very edge cases, where I'd argue someone is disabling protections or breaking rules to eke out some imagined extra benefit.