Think of your cell phone - You accept the fact that lines drop, connections are bad, calls sometimes fail - but what you get for the price is worth it. A lot of software falls in that category, it's imperfect but it's not worth the cost of making it perfect.
Now take a look at the license agreement for Java, which is used for major enterprise systems such as Amazon and eBay:
"Java technology is not fault tolerant and is not designed, manufactured, or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines , or weapon systems, in which the failure of Java technology could lead directly to death, personal injury, or severe physical or environmental damage".
Windows, Linux, Apple, Java, all of them fall in the category of more than good enough for mission critical enterprise software, but not for cases where any failure, any at all, leads to death. If Amazon is down for 15 minutes once a year, all that is really hurt is their profits. But if a plane, a nuclear plant, a medical life support system is down for 15 minutes - people die.
In the software industry we constantly balance this trade-off of bugs vs cost. You could have a cell phone that was 100% reliable, but would you pay 100 times as much each month for it? I didn't think so. And going from 99% reliable to 99.9% is equally expensive - and 99.9999% is incredibly expensive. Yet 99.9999% is what software like Amazon's strives for while we need 100% for life critical items.
Well here's where the problem is with voting software. It's not viewed as being on the list of software requiring 100% reliability. Yet while it is not life threatening, most people do accept the requirement that for ensuring an accurate vote, it is worth the 100X increase in cost to design and test voting software. In other words, it should be on the list with flight software, because of the value of 100% accuracy to the body polity.
Until we demand this level of software, and are willing to pay what it costs to deliver it, we are going to be left with crappy voting software written inexpensively and running on systems that are easily hackable. And as long as we keep looking for a magic bullet that will solve this issue, and be the lowest bidder, we are going to be disappointed.
Because today we have a cell phone level of quality in our voting software, if that. And we are at this point by choice, just as we have the cell service we are willing to pay for.