I agree with the idea of going with a hardware approach where possible. However you should take the whole picture into account before going down the hardware vs software approach. I started with just the Elk M1 and down the road added Homeseer due to the limitations within the Elk regarding the number of rules allowed and robust email integration, etc. Don't get me wrong the Elk is awesome, reliable and never misses a beat and I would buy another one in a heartbeat.
I added Homeseer to my system for the plug in capabilities. Integration with my weather station, IR control, etc. By the time I was a few months into using Homeseer I moved most of lighting over there as well and use the Elk plug in to integrate my security events with Homeseer.
I have created a pretty robust and reliable windows system that runs my home automation as well as being a file server and a web server. I added a few reliability features that seem to work great. First I have the system reboot itself twice a week in the middle of the night. Secondly I monitor the system from my Elk. If the Elk doesn't detect a heartbeat signal every hour it will switch off the UPS for the automation pc. The UPS tells the system to shutdown and then it pulls the power from the PC for 5 minutes. Once the UPS turns back on the system is set up to start everything back up. This sounds pretty complicated but it wasn't too bad to set up and it works great. I think the system has only locked up once or twice in the past year and it fixed itself within an hour.
I work with computer systems every day and you can make almost any system reliable if you don't mind tinkering. I don't think most people want to hassle with this and I can't really blame them.