This offers an interesting insight into the Internet of Things. Take something simple, and tack on a bunch of new technology that is subject to failure. Don't be surprised if it fails.
To be fair, the issue isn't that there was software involved; digital thermostats have that. I think more telling was the level of complexity, which allows for a lot more to go wrong. Combined with a poor process behind update validation, this is what happens.
Keep it Simple. If you're going to use new technology, keep the old stuff around, ideally working in parallel as a failsafe.
And generally, anything you can do to distribute the failure points and allow for overlap (such as backup spaceheaters that don't normally kick on) should be considered if someone's life is on the line, or property is at risk. Stuff can always go wrong, but the more you can do to reduce risk the better. This applies to any system dependency; mechanical thermostat or nest.