The main reasons DNSSEC fails frequently are:
* pre-computed signatures, rather than online signing
* a demented, overly complex protocol
* signatures that expire rapidly
Maybe tptacek can name some others.The only DNS encryption people are currently using (DNSCurve/DNSCrypt) does per-packet encryption, with a very simple protocol involving only a single ciphersuite designed by djb, and no signatures. This makes all the difference in the world.
If encryption were so bad then people wouldn't be using TLS, SSH, etc. It's the terrible design of DNSSEC that has poisoned efforts in DNS security.