Why wait for several confirmations before shipping? Suppose customers pay me bitcoins for their purchases. As far as I understand, I could check block chain that the proper payment amount has been made to the address I generate for each customer, and after waiting for several confirmations I should then ship the product. Why several confirmations? Wouldn't one be sufficient?

Also, is the method I described above the best way to identify a paying customer?

Thanks
After one confirmation, the transaction is very unlikely to be double spent. However, each further confirmation reduces the probability exponentially. Basically, the number of confirmations provides additional security that the transaction will not be reversed. 

One reason a retail store or individual might wait for more confirmations to ship is time; it only takes an hour for 6 confirmations to go through, which is negligible time for shipping a product, but can provide assurance to the seller.