And if I'm sending a gift to an address that isn't already in my account?
Ship cost estimates are far more difficult than just making an assumption about where it will be shipped to. You just flat out can't quote a shipping cost unless you know for sure what the address is, or else the act of quoting shipping can actually be considered fraudulent. They get the delivery address at the same stage as the payment information because it allows for an easy "Shipping address is same as billing address" option.
For anyone that is too skeptical about entering payment information before seeing shipping costs, there is an option to estimate your shipping costs beforehand. It requires more work though, which is why it is an optional step.