I would argue that all of the really hard problems in software development[1] (and most technologies) are really hard because they are social in nature, and it is the social nature that makes them so hard.
This is similar to the food production/distribution problem. We create enough food to feed the world, but, due to many geopolitical forces, we can't get the food to all the people that need it. No matter how good we get at growing and shipping food (the technical solution), there is some warlord somewhere who will steal it from his subjects (the social problem).
1. Not computer science. P==NP has nothing to do with Aunt Marge.