When people say that they mean it's a replacement for the use of sockets in your program, not that it replaces sockets ... Across the technological landscape? Within the tech stack?
If your program is the only user of sockets then okay, "use of sockets in your program" might be a valid assumption. But if you're interfacing with external components using sockets/whatever, using ZMQ will not solve anything. That's why I don't see it as a replacement/competing standard...
Hmm.