It was mainly due to older versions like 1.7 that crashed too often under pressure (ram usage mostly).
The situation got much better since 1.8 and especially 2.0.
The main reason zeromq is so awesome is that we can use it as an rpc protocol for almost everything.
That main reason doesn't apply only to zeromq, though; with google's protobuf you can write an rpc layer on top of pretty much any channel in ten or twenty lines of code.
Sure but with zeromq we get builtin load balancing and pub/sub.
ZeroMQ is not a serialization or RPC mechanism, but a smart routing system for packets of data. It doesn't even include one. Many people use google's protobuf with ZeroMQ.