I have to say, that many people don't really know why Windows crashes very often. In fact, I have been tinkering with lots of computers of different ages and found the actual reason.
The main factor that determines whether the computer is stable or not is the hardware's specs. If it is below the recommended, it will crash. It has a lot to do with the memory requirements. Many people says Vista crashes. Yes, but have you actually seen the amount of system it takes up? After complete standard boot-up, it eats up 40-50% of a 2GB RAM computer. In my opinion, you need about 15-20% at that stage to be stable.
Its more or less the same on XP, and even on Linux. Wait, I'll clarify the Linux part in a moment. If the system is eaten up, the memory management would have no error catching and so memory overflows into other sections and cause all that sort of errors.
Linux, does not crash in the same manner as Windows does. For one, it takes up very little RAM (Slackware takes 100MB or so). Secondly, it has a special memory quota. If X11's container is full, it would freeze because there is the same thing. But, it as I said, it is in a container. Press Ctrl+Alt+Backspace would kill X11 and resort to console mode, or reset X11.
That means more stability. No BSOD, or any thing like that. In fact if X11 crashes, or even the console (for example, BASH) crashes (actually, that happens only in single console mode), the kernel is still kicking alive and you can use SSH (Secure Shell) to login remotely and kill the hogging process. All other system services such as Apache (HTTP Server) still runs in the background with whatever remaining resources it can still use.
This is the kind of stability in Linux that I really like. Windows, however is closed source and so keeps everything in one. This makes it very bad since if one thing fails, everything fails. Its like all the components are chained together on a cliff.
EDIT:
"very little RAM (Slackware takes 100MB or so"
When X11 and KDE are running. Or else it can run extremely fine in 16 MB RAM. Minimum to get the console up is 8 MB.