Yes, it is all in the prep.
Epoxy applied well is great, but new concrete sucks for epoxy. The surface is "sealed" and needs to opened up, either with a chemical etch (2nd choice) or meachanical means (basically a shot blast), so the epoxy can get a bite.
As minimac mentioned, if you do not have a vapor barrier and have moisture below the concrete, it can lift the epoxy. Been there, done that, seen it, had the paper from the client confirming they had a moisture barrier, which they did not. Paint breathes better, but in a home garage, a good epoxy floor is forever.
Jack, who used to sell/install epoxy flooring and sealing systems for a large national firm.