I always pre-order in-store, and don't pay anything up-front... that way, if the item doesn't end up showing up, they don't have to then go through the hassle of a part-refund to the order.
It also allows me to cancel an item if I find it somewhere else first or for less, without risking any money up-front.
(I also like to be able to stall on payment, so that I don't have to pre-pay a lot of money for items that I won't see for months later... which is one of the reasons I like using Amazon as well.)