NATS requires a broker, ZeroMQ doesn't (though it generally supports a "forwarding device", which -- in the absence of transactional semantics as it is in NATS -- is mostly indistinguishable from a broker).
From the user's perspective, ZeroMQ provides a superset of the functionality, and a superset of the topologies. Why would you say the comparison is unfair?
A proper comparison would need to include the forwarding device for ZeroMQ.
> Obviously the latency of going over the wire once is going to be lower than going over the wire twice.
Latencywise, and all things being optimal, yes. But not all things are optimal.
Throughputwise, and all things being optimal, there shouldn't be any difference. But there is a huge one on both receive and transmit.
NATS and ZeroMQ are obviously not equivalent, but I maintain that this is an apples-to-apples proper and useful comparison, even without the forwarding device.