We use nats mostly for synchronous tasks (where the response has to be returned to the exact client initializing the request) and pubsub for everything else.
We’re slowly transitioning to nats as we have a better control over what’s happening there. Also we had no issues with stability which I can’t say about pubsub