An event records a fact that already happened: it is never updated, only followed by newer facts. A Kafka 129 record carries one as a key (here the order_id), a value (JSON, Avro 129 or Protobuf bytes, JSON, Columnar and Binary Formats), a timestamp and optional headers such as a trace ID. A topic is a named, unbounded stream of records.
Producers append records to a topic; consumers read them. In the publish-subscribe model every subscriber receives every record; a classic message queue hands each message to one consumer and deletes it. Kafka does both: consumers sharing a group ID divide the topic's partitions among themselves, like workers on a queue, while each group reads the whole topic independently. Reading deletes nothing; records leave when the topic's retention time or size limit expires (Retention and Compaction). A new consumer can rebuild its state from the beginning, and a fixed consumer can replay from yesterday. Kafka 4.2 also made share groups, true queue semantics on a topic, production-ready (Why Queues (KIP-932)).