Outbox required if you want to guaranteed behavior with standard scenario "write some data to table, push message to Kafka". Without outbox there is possibility of successful written data to database and NOT sending message to kafka (Kafka is down/unavailable).