Kafka is a commit log you can share across an entire company. Producers append records to the end of a log, and consumers read forward through that log at their own pace. The log is durable and persisted to disk, so a record is not deleted the moment someone reads it. By default Kafka keeps data for 7 days, and you can set it to keep data for hours, weeks, or forever.
A topic is a named stream of records, like orders or page-views. Each topic is split into partitions, and each partition is the actual ordered log. Records inside one partition have a strict order and a monotonically increasing number called an offset. Records across different partitions have no global order, which is the trade Kafka makes to scale horizontally.
This is the key mental shift from a normal message queue. In a queue, a message is consumed once and gone. In Kafka, the data sits in the log and many independent consumer groups can read the same records for different purposes. One group feeds a search index, another loads a data warehouse, a third runs fraud checks, all from the same topic without interfering with each other.