Epoxy gets its high strength, while retaining flexibility, through the way it hardens. Most adhesives harden through evaporation: the water or other solvent evaporates, leaving the bonding material in place.
Epoxy hardens through polymerization: a chemical reaction between the molecules of the two components (known as the resin and the hardener) forming new, larger molecules. Since the bonding material was never in solution to begin with (as it didn't exist before the polymerization process), it's much more resistant to attacks by solvents -- the downside of this being, of course, that it's also that much harder to remove it on purpose.
It's useful for bonding almost anything, except for highly porous materials and some plastics. It's especially handy when bonding two different materials. And unlike cyanoacrylate ("super glue"), most epoxy formulas don't set in mere seconds, giving you time to work more carefully and also to bond larger objects.
- Since the hardening process is a chemical reaction, it's very sensitive to the ambient temperature. An epoxy bond will take a long time to set and cure in a cold room (or outdoors in the winter).
- If the strength of the bond truly matters, don't mess with the object until the full curing time has elapsed, no matter how strong it may feel. The bond doesn't achieve its full listed tensile strength until the polymerization process is complete.