In spite of the fact that any operating system can be made to appear stable, be run without constant rebooting and accomplish its tasks at something near the speed you'd expect: PCs Crash.
Sometimes it's obvious. Parts and cords get loose, damaged or go missing by accident...or sabotage. Sometimes we just ask too much of our machines and Resource Limitations - not enough RAM or old and slow hardware causes the failure.
Trade offs between price and reliability in the design and manufacture of personal computers has resulted in the proliferation of economical machines that operate reasonably well. The level of reliability we expect from the computers that run our refineries and our nuclear powerplants isn't cost effective in our offices, our schools or our livingrooms.
Operating system failures occur less frequently in each new release as modern threading and memory management becomes more efficient but larger programs and the rush to market preclude quality assurance prior to launch as consumers are being enlisted by software manufacturers to help find and report errors in the code. Since there is no common operating environment, developers program for an average, dynamic user and then respond to problems as they are reported. Service releases and upgrades are welcomed and expected solutions to specific problems but no final end to system lockups is in sight.
PCs Crash because it is their nature! The long term solution lies in the eventual upgrade to better equipment and fault-free software. Until then we have to rely on optimizing configurations, preventive maintenance, backups, the "Save" button and good Technical Support.