After reading up on Bitcoin I ran the software for a day and mined some coins. It's a fascinating decentralized system but has some significant practical flaws.
Cash flow isn't private. The protocol requires all transactions are public: you can see them all on Block Explorer. Here's the transfer of 0.02 from the Bitcoin faucet to my account. Here's 50 bitcoins I helped mine along with some other random transactions in that block. Here's my miner's wages from slush's pool. You could do some fascinating visualizations of the flow of money. It's hard to remain anonymous: you can have multiple identities, but because every single coin is traceable if even one identity is known the rest can be discovered via traffic analysis. The Bitcoin wiki recommends laundering your money through a third party.
Latency is a problem. I received 4 payments last night; each took about 5 minutes to show up in my wallet. I made a payment of 0.02 today that showed up in about a minute, but I was required to pay an extra 0.01 transaction fee. Communication latency seems to be a result of the peer to peer network and presumably could be improved. But there's design latency, too. You can't really trust a payment is valid until it's been confirmed, which boils down to waiting for about an hour's worth of other transactions to be done after yours.
Scalability looks like a serious problem. The core innovation of Bitcoin is the block chain, a signed history of all transactions. Bitcoins are validated by tracing the history of a bitcoin all the way back to block 0, the Genesis Block from January 2009. I don't see any process for short-circuiting this validation. It's like every time you got a dollar bill, you had to talk to everyone whose hands that dollar ever passed through to work its path back to the bank that printed it. Also the current client needs a copy of every transaction ever. That takes a couple of hours to download but presumably could be optimized so you only keep the blocks you personally care about.
Coins are brittle. My money entirely exists in a file named wallet.dat on my hard drive. If I lose that file or it gets corrupted or it gets stolen, I lose all my money. That's no worse than real cash under your mattress but it's significantly worse than other online payment mechanisms like credit cards.
I don't mean to hate on Bitcoin, it's an impressive cryptocash system. And it actually functions: at market rates there's some $35 million in Bitcoins in circulation. That valuation may not last for economics reasons, but the crypto and decentralized system design is pretty sound. Still it's got some rough edges, interesting to see where they are.