Core NATS is fire-and-forget. JetStream adds durable storage, acknowledgements, replay and delivery guarantees. A stream captures subjects; a durable consumer tracks progress through it.
JetStream
The persistence layer of NATS: streams that store messages, and consumers that read them.