It's to optimize performance, sometimes you can give up accuracy in favor of higher throughput. Exactly once has the lowest throughput of all 3 options, so you should only choose it if you need your data to be super accurate.
IT would certainly be helpful to also understand in which scenarios each of these would be used. For example, at-least once maybe in a payment service (idempotency handled appropriately), at-most once (comments for a post) etc..
Say you're collecting the location coordinates of some objects moving on the map in each second (e.g. taxi cars on Uber, airplanes flying from one location to another). So you can choose "At-most-once" because it's okay to loose some coordinate data in between some seconds and also you need a high throughput in such scenarios.
message can be delivered more than once, but we have idempotency due to which we don't have to accept duplicate message. It gives once processing. You are giving misinformation
I think the point is that you have to ensure idempotency to guarantee "exactly-once". Or, you can use Kafka Transactional API, you can read about www.baeldung.com/kafka-exactly-once