I used
Rustoleum
Professional Epoxyshield silver grey for my shop. I applied two color coats
and a clear coat. It required three kits of the color (6 gallons total) and two
clear kits (2 gallons) to cover my three car garage. I am very pleased with the
outcome and I would highly recommend the Rustoleum brand to anyone wishing to strike
a balance between cost and quality. There are other epoxies out there that have
a higher solids content (read: stronger bond) but also cost much more. I have no
doubt about the floor standing up over the long term. I did the job for around $500
for a three car garage.
I used the following process for epoxying the floor:
1.) Degreasing with a power washer and concrete degreaser sold at Home Depot. I
used a acid brush and a steel bristle brush for the really tough spots. You really
can't degrease enough. Any grease spots, tire marks, stains, etc will prevent the
concrete epoxy from adhering fully.

The floor prior to being degreased.
2.) After fully rinsing and let dry, I applied 3 parts water 1 part muriatic acid
to etch the concrete. This is required in the instructions. Make sure to wear a
respirator and have positive airflow as the smoke from the reaction will burn your
eyes (ops checked by me).
3.) After drying, I patched and holes with concrete patch. Let dry and sand.

The floor after etching and patch. I am in the process of sanding.
4.) I swept and vacuumed the floor prior to applying the first coat. The epoxy comes
in two parts, a base and an activator. I power mixed both parts in accordance with
the instructions and then let sit for 30 minutes. Then applied using a nap roller.
The first coat goes on very thin and will not look even.

The floor after the first coat.
5.) I let the first coat dry for 24 hours and then applied the second coat. Using
the same technique, the second coat goes on much thicker than the first. As I rolled
on the second coat, I threw the optional color chips on the floor. You just toss
them up in the air. My wife had a blast.

The floor after the second coat. Notice it is much glossier than after the first
coat.
6.) I let the second coat dry for 24 hours and then did the clear coat. The clear
goes a long way. The clear comes with an anti-skid additive which I used. After
the clear dried, the floor was very glossy.

The finished product!
I now just broom and mop for clean up.