Without going into too much detail, I got paid to DIY the Rustoleulm EpoxyShield in my garage last year (the same one as
@trollwithamustache , probably). It's been 6 months since 'installation' and we've done everything but drive cars on it (our garage is a 1-car and our cars really don't fit). It's held up perfectly in that span of time, apart from getting a little dirty in spots where it sees heavy traffic.
That's probably the most I'd DIY floor epoxy, but I'd definitely do it again. Anything more complex than the RO-ES product, and you will absolutely want a professional to do the job, because if you don't mix it and apply it correctly, it's near impossible to remove and try again.
Like any project, the biggest challenge is prep. To put down such a product, you need to (mostly in order):
-Clear everything out of your garage. If you have a large one, you can do it half at a time. But you want every single thing off the floor.
-Deep (and I mean deep) clean the concrete. There are concrete degreasers specific for this - it's a lot of heavy scrubbing and a lot of water.
-Do any crack repair - cracks (and especially deeper ones). Any surface imperfections are magnified 10x with an epoxy surface. I drilled out the ends of all the existing cracks to prevent them from growing, then filled and sealed them.
-Acid etch the surface - an absolute requirement for successful adhesion
-Clean, dry, and then KEEP DRY (for at least 24Hr ideally) after etching.
-Apply the product.
-Allow to cure.
In all, this process took me about 8 days from when I started moving stuff out to when I was able to move everything back in. It'll be longer if you have a 2 car garage, because you'll still need to wait until side 1 cures before moving everything over to side 2.
All that being said, it completely changed the look of the garage - not only does the uniform floor appearance make it look bigger, but it's much easier to clean and to keep clean.