Short answer
Coatings peel because the bond to the concrete failed — almost always from inadequate preparation (acid etching instead of grinding), untested slab moisture, or skipped crack repair. Proper mechanical grinding and moisture testing prevent nearly all of it.
Cause 1: Poor surface preparation
The most common cause. Acid etching and quick 'scuff' prep don't reliably open the concrete for a mechanical bond, and they can't remove contamination. Without a properly profiled surface, the coating is essentially sitting on top of the slab instead of gripping into it. Mechanical diamond grinding fixes this.
Cause 2: Moisture in the slab
Concrete can carry vapor up from the ground. If the slab isn't tested and a coating is applied over a moisture problem, that vapor pushes the coating off from below — often months later. A calcium-chloride or relative-humidity test catches this so a mitigation primer can be applied first.
Cause 3: Skipped repairs and contamination
Coating over oil-soaked concrete, unrepaired cracks, or a failing previous coating guarantees problems. Grinding removes contamination, and cracks and spalls are repaired before coating so the surface is sound.