I work for a company that has seven webshops, in six countries. We work out how much it will be to ship an item, on average and just include it in the price of the product. If the customer orders multiple item, we save a bit of money on shipping for that order. So in our case, because one webshop only shipping within one country, we always have a shipping cost of zero (it no zero of cause, it's factored into the product price, but it easier to figure out the actual cost of a purchase ).
Why is that?
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.