1. Apache Kafka Documentation, Broker Configs: The official documentation for the unclean.leader.election.enable parameter states: "Indicates whether to enable replicas that are not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss." This explicitly describes the trade-off.
Source: Apache Kafka Documentation, Section 3.3 Broker Configs, unclean.leader.election.enable.
2. Confluent Documentation, High Availability: "If all replicas for a partition are unavailable, Kafka by default will wait for a replica to come back online... This default behavior prefers avoiding data loss over availability. This preference can be changed... by setting the broker property unclean.leader.election.enable=true... This trades durability for availability."
Source: Confluent Documentation, "High Availability" section within the Apache Kafka Technical Overview.
3. Designing Event-Driven Systems, by Ben Stopford (O'Reilly, 2018): "There is one final configuration parameter that affects the availability/durability trade-off: unclean.leader.election.enable. If this is set to true, it will allow a nonsynchronized replica to become the leader. This means you will have a leader, but you will have lost data."
Source: Chapter 10, "Building a Reliable System with Kafka," Section on "Durability vs. Availability." (Note: Ben Stopford is a technologist at Confluent).