The thing that will destroy Bitcoins is simple. It will be the bloated size of the blockchain. Soon the blockchain will be so large, that we will need centralized "housing" to hold it. We will have to trust "Central" to state what is in the blockchain every time we want to use Bitcoin. And, this is the thing we are trying to get away from - centralization.
The blockchain is almost 70 gigabytes large right now. Imagine what it would be like if people around the world traded something like the Forex on it.
Someone better figure out a way to make it a whole lot smaller, and fast. Why fast? Because when fiat collapses, a lot of people will jump into Bitcoin. The blockchain will surge in size. In a short time it will be too large to use.
One solution that I can see would be to keep the current blockchain in total, on several servers around the world, including any person who thinks he has enough hard drive space to store it on, and enough bandwidth to handle all the transactions that hit Bitcoin at once. At the same time, implement a new kind of blockchain that keeps only a record of the first use of a new address, and, say, the last two uses of it. Everything else is deleted. This will be a reasonable solution, I think, until a better kind of blockchain can be developed.
What does anybody think about this?
What ideas do you have for overcoming this problem?

Okay. From the comments we have more points. So far we have...
1. Blockchain size for storage and downloading;
2. Number of transactions causes impractical updating of the blockchain because of bandwidth limitations;
3. Impractical confirmation time without a fee;
4. Unreasonably long confirmation time even with a fee;
5, (more?).