If you only require 1 confirmation it's very easy to perform a Finney attack. You basically mine until you create a conflicting transaction, keep it secret, perform your spend, wait for the confirmation and then release the conflicting transaction to the network, undoing the spend. You now have at least a chance that the chain will be based on your block instead of the other one. Even a 10% success rate is enough if you have a low overhead transaction you can exploit.
No, it's not easy to perform Finney attack. It is either economical for you, or not. E.g. for $1 worth tx Finney attack is too expensive. Even unconfirmed double spend can be detected within seconds (otherwise it's unlikely it will come faster to the miners than the original tx), so people have no problem accepting unconfirmed transactions for sub-$10 payments (e.g. coindl.com).
On the other hand, when you buy something for $1000, it is a less frequent purchase and maybe requires physical shipping. So waiting an hour or two for several confirmations increases security and does not add any hassle for the client (he would wait for couple of days anyway, 1 hour delay won't change anything). It can also be used as a feature. Imagine, you order a macbook for $1500 from Apple. They will not start shipping it until they get, say, 12 confirmations (about 2 hours). During that time you may cancel your order and after 12 confirmations Apple will send your money back to you. This is exactly how "one click purchase" works in Amazon: you click a button without filling any forms, they wait some time before shipping, so you can cancel (e.g. accidental click), then ship. But in case of BTC, the delay is not an arbitrary number, but a measure of security.