"Public-key encryption was revolutionary for a simple reason. It solved the age-old security problem of key distribution."
Not by itself. That's what protocols are used for. A weak protocol would allow for an attacker to intercept public keys, allowing the attacker to mitm communications.