Bad or improperly installed hardware causes crashes.

By the way, regarding reliability, why not make a system diagnostic program that can check file versions of the vital system file to make sure that they are the latest avaliable from Microsoft (make sure that it verfies that they are not corrupted; yes, I know the SFC does that but having an all in one tool would make things easier), check for bad configurations, known registry settings that could cause problems, etc? I'm sure if it were developed well enough, it could find issues with computers and either fix them or say how to fix them.