90% of all electronics-related problems are caused by cables and connectors, but, of the rest, more are due to mistaken assumptions than bugs.
Isn't this something of a false dichotomy? Bugs are always due to one or more mistaken assumptions. At a minimum, they're the result of mistakenly thinking "this code is correct". :-)
--
Ytrew