I did an epoxy coating on the garage floor in my first house. There are some things i'd do differently if i had to do it again, but overall it was vastly worth the time and expense, especially once I started home brewing and had to clean up sticky wort every few weeks. A few tips:
1. Floor prep is crucial.
2. Do not skip floor prep.
3. If you skip floor prep, your epoxy will peel right off. Epoxy is a great coating because once it has cured, it is non-reactive to most things a garage floor will meet, thus it cleans up easily. However, part of the trick with applying an epoxy coating is that you need to have an extremely ROUGH gritty surface that is devoid of oils and greases. Epoxy binds to the concrete by seeping into the microscopic cracks and filling them, while also bonding to other epoxy molecules. It does not chemically bond to anything. It is purely a mechanical bond.
4. Don't skimp on the coatings. You'll need multiple coats if you want a long lasting surface.
So you've got a few options depending upon your surface:
1. If you have sealed concrete (it'll be shiny), there isn't a cheap/easy method. You need to get a mechanical abrading machine. It'll cost you an extra $100-200 but you'll get the best surface possible.
2. If you have unsealed concrete (typically a little course and stains soak right in) you can go the chemical route - "etching". You'd be absolutely amazed what lighty diluted muriatic acid will do to concrete. You'll need adequate eye, skin and lung protection, but this stuff will dissolve the surface of the concrete in seconds. What you're left with is like 100 grit sand paper. You can get a pretty good bond to this, but its not as good as mechanical abrasion. There are some all-in-one products that claim to degrease and 'etch' the surface. I did that the first time, then went back and did it again with the muriatic acid because it wasn't good enough. Still one of my most fond memories ever was seeing the floor hiss and pop as i poured the acid on it. Very very cool.
If i had to do it again, I'd do the mechanical abrasion. Etching was a lot of work.
Then it comes to the coatings... you can go to your local DIY shop and buy an epoxy floor coating kit. Only buy the 2-part kind. The 1-part stuff sucks - It's more like a paint than epoxy and hot tires will lift it right up. The 2-part stuff is the real deal. If you really want a solid floor you'll want to do 2 coats or more. Even better would be 2 colored coats, followed by a clear epoxy coat that has a traction material (e.g. sand or chips). Every 5-10 years you can reapply the clear coat to keep the floor looking like new. The thicker the coating, the more it will resist chipping. Epoxy bonds exceptionally well to existing clean epoxy.
Your other option would be to use industrial coatings. These typically require a license to install. They are significantly better in just about every way, but it's going to cost you a fortune to have it put down. I covet having one of these floors but don't think I could justify it in my garage.