This section explains how to use keypaths, but not why we’d want to or how they are useful. Would be nice to add this.
I can’t speak for the authors, but having experience in Keypaths I feel like the answers to your questions are implied in the examples: they store references to properties and you can use the reference instead of the actual path where you need it.
let discountTotalPath = \TravelReservation.booking.package.invoice.discount.total let discountTotal1 = reservation[keyPath: discountTotalPath] let discountTotal2 = reservation[keyPath: discountTotalPath]
The above is just mechanics, but because you can pass a Keypath as a parameter, function, look them up, append, etc. Then you can do lookups into your data structures easily. You see this a lot in SwiftUI.