Kafka is a distributed messaging system that allows for publishing and subscribing to streams of records. It is fault tolerant and replicates across multiple servers. Kafka was developed at LinkedIn for use cases like log aggregation, stream processing, and acting as a buffer between data producers and consumers. Key aspects of Kafka include topics that messages are published to, producers that publish messages, consumers that subscribe to topics, and brokers that form clusters to transport data.