Pub/Sub
Publish/subscribe (pub/sub) is a messaging pattern where a publisher sends a message to a named topic, without knowing or caring who — if anyone — is listening, and any number of subscribers independently receive their own copy of every message published to a topic they've subscribed to. The publisher and subscribers never talk to each other directly; a topic sits between them as the only thing either side needs to know about.
Message Queues
A message queue sits between a producer and a consumer and holds messages until a consumer is ready to process them, delivering each message to exactly one consumer. Where Pub/Sub fans one event out to every subscriber, a queue distributes a stream of work across a pool of consumers, so each unit of work is handled once — the queue is the standard tool for "many jobs, a pool of workers," while pub/sub is the standard tool for "one event, many independent reactions."
Change Data Capture (CDC)
Change Data Capture turns a database's own internal record of what changed into a stream of events other systems can react to — without the application ever having to explicitly publish anything. Every row insert, update, and delete is captured as it happens and emitted as an event, so downstream systems (a search index, a cache, a data warehouse, another service entirely) can stay in sync with the database in near real time.