A Kafka topic is a logical name like orders or page-views. The real storage lives in partitions. When you create a topic you pick a partition count, for example 12, and Kafka spreads those 12 partitions across the brokers in the cluster. Each partition is an independent log file on disk that only ever grows at the end.
Every message in a partition gets a monotonically increasing number called the offset, starting at 0. Offset 0, then 1, then 2, and so on. The offset is unique only within that one partition, not across the whole topic. A consumer tracks its position by remembering the offset it has read up to.
Ordering is the key property. Kafka guarantees order inside a single partition and nowhere else. If you publish messages A, B, C to the same partition, every consumer reads them as A, B, C. If A, B, C land on three different partitions, you get no ordering guarantee between them.