Even one time codes?
A major problem with one-time pads is that it's necessary to share an amount of key data equal to the amount of real data that is going to be exchanged, and unless both parties destroy their key data as they use it, capture of the key data held by either party will allow retrospective decoding of previously-captured transmissions. That having been said, improved flash densities would seem to make such an encryption approach (including the destruction of used key data) more practical than in years past.
I suspect the biggest weakness with many encryption protocols stems from a desire to have them be usable for establishing initial contact between strangers who have not previously exchanged other secret information. That requires both parties have a third party whom they can trust, and who is worthy of that trust.