I'm often waiting 15mins+ for a transaction to get a single confirmation?
The target is 10 minutes, but it will vary, sometimes wildly from that target.
If I was to accept bitcoin in a local store and the customer had to wait around whilst his transaction is confirmed I would loose customers pretty fast...
Bitcoin wasn't developed to be a transaction network for point-of-sale like the payment card networks. There had to be a tradeoff in order for bitcoin to be decentralized (no central authority).
There had been discussions as to ways bitcoin might be augmented to support this, though no definitive plans by anyone have been announced.
Also why is the bitcoin client forcing me to pay a 0.01 transaction fee? Surely a decentralised p2p currency shouldn't need to pay transaction fees? Where do these 0.01's go?
Because of transaction spam abuse, the client was modified to force transaction fees. When making that decision was made just a few months ago, they likely couldn't fathom $30 BTC/USD, and thus the 0.01 BTC minimum fee was not expected to ever be excessive. Beginining with v0.3.23 the minimum fee will be 0.0005 BTC, ... under two cents worth, at Bitcoin's recent high trading price.
The fees go to the miner who includes the transactions in the block that was solved.