The top three hacking problems for the last 10 years are “phishing”, “password reuse”, and “SQL injection”. These problems are extremely simple, as measured by the fact that teenagers are able to exploit them. Yet they persist because, unless someone is interested in hacking, they are unable to learn them. They ignore important details. They fail at grasping the core concept.
Source: Errata Security: Hackers aren’t smart — people are stupid