1. How do you discover someone's encrypting key? There is no simple way and it involves understanding how it all works. Solutions using the DNS were proposed but never really workable or saw wide deployment (I tried). Gets more complex when someone updates keys.
2. Multi-device - not only do I have to mange keys, but now I have to make sure I have the same keys on my laptop mail agent and phone. That sucks. Using a web client also complicates this.
and a non-technical issue:
3. Large email provides and specialized service found things that sorta work enough. Every bank/medical office has a "secure messaging portal" that you can use that aren't as simple as email, but works well enough that there is no pressure to move to more standard email. Large providers like Microsoft have internal solutions to send secure email that works in their service and if it is free to get an account, it works (even if it's annoying).