Polyurethane
Polyurethanes are used to create special effect top layers over epoxy. To create a granite or terrazzo look for instance, an epoxy base is first laid, then granite or plastic flecks are dispersed in a layer of polyurethane and then topped with a final finishing coat of polyurethane.
Urethanes are also more expensive than epoxies, latex and acrylics. But if you are looking for that one of a kind custom look, a polyurethane top coat is hard to beat.
Latex paint: There are various acrylic latex paints designed for garage floors. Some are resistant to hot tire pickup. You can walk on the floor in 4 hours and park on it in 3 days after application.
Latex paint is the least expensive option to garage floor coatings.
Concrete stains: Acid stained concrete can create a very unique and warm finish in multiple hues and color. With acid stain you can recreate the look of a stone or leather. Patterns and other designs are all possible with great depth of color. The stain is translucent and forms one-of-a-kind design with the imperfections of your concrete unlike coatings that paint over and adhere to the concrete surface. For this reason, the concrete must be very clean of contaminates. The resulting finish is permanent but requires a protective acrylic seal coat. This acrylic sealer can be damaged by ultra violet exposure and heavy garage equipment dragged across the surface. The sealer is not maintenance free it requires a protective waxing one or more times per year.