I used the Rustoleum Epoxy kits from Home Depot. The key to any of these is surface prep, and the acid packets they give you aren't strong enough in my opinion. Plus, if your concrete is sealed it's an entirely different level of prepwork required. My father used a Rustoleum kit and it lasted about 6 years before little flakes started coming up from hot tire pickup in the summer. I did mine in early 2016 and haven't had any flaking.
Here's what I did:
2x muriatic acid etch
2x full wash down
Thorough drying
1x Epoxy coat, thin
Waited 24 hours
1x Epoxy coat, thick w/ flakes
Waited 24 hours
2x clear top coat (make sure it is compatible with epoxy!)
The top coats really did the trick by sealing in around the edges of the flakes so there isnt an opportunity to pull them up. If I could do it over again, I'd go with Polycuramine instead of Epoxy. When I eventually build a detached garage, the entire floor will be polycuramine.