All the different flooring options are very confusing and I think all have pros and cons. Cost is one of them. Cheaper generally is less robust or has limitations. But not exclusively so. Here is my take:
Epoxy: Tough and durable and can have pretty flakes or other things added to it. Generally you need a nice 100% solids basecoat and a clear IF you do flakes. Best clear for anti-scratch is a Polyurethane, but they are thin so you really need two coats of clear. Epoxy itself can get scratches/scuffs over time, but it is very tough. Polyurethane clear might be 2x or maybe 3x better at scuff/scratch than clear epoxies, all depending on the products, but it is very thin, so if you do scratch it, it will go through 1 coat of it. So use 2 coats if going with Poly clear. Cheaper option is no flakes and no clear, just a basecoat. All epoxy will amber over time, whether it is in the sun or not. Faster in the sunlight. UV protection in a coating helps but that will eventually go away and evaporate out. I would never ever use an epoxy clear in a garage for the amber reasons. Some epoxy basecoat colors handle the ambering better than others. Light colors like white not good over time. Complete DIY cheap install for me with epoxy basecoat/clear (in basement without windows)/chips/self grinding of floor came to about $2.5 a sq foot for me. Would have been less if I did a larger area floor on a square foot basis. It goes up from there. Pro install at $4 would be a good deal, many are $5 or $6 a sq foot. One more thought on damaged /scratched /chipped /worn /ambered epoxy over time: Nice thing is you can always scuff it up a little and put a new or different coat on top and start over, but with an even thicker "base" floor than you had before. So even if ambered, can be restored with just another layer fairly easily. Can also do 100% chip coverage on it, so ambering is never ever an issue then if you like that look. Be sure too to always use anti-slip silicon oxide for the top layer or it can be very slippery. Chips if you use them also will add anti-slip to the floor as your rubber soles will grab around each chip, increasing friction and anti-slip a good bit. Epoxy or Poly without anti-slip or chips standing proud is like a skating rink when wet.
Epoxy Prep: Diamond grinding is best. Hard and time consuming to do for lowest cost with a hand grinder (4.5 or 7" diamond grinding wheel on angle grinder), still hard and less but not insignificant time consuming for higher cost with a pro standing upright grinding machine rental (or several days rental). Hiring out just the grinding of the floor to a contractor might make a lot of sense for larger floor areas, not so much for smaller floor areas. The grinding and other filling/patching/repairing prep is the hardest part of the job for sure.
Primer Layer under Epoxy Basecoat: Primers are a great idea under any basecoat layer except that they add cost and you don't always need them! Here is what they do: 1. Reveal any adhesion issues from the 1st coat put down vs. in the basecoat. 2. Reveal any gas bubble issues from 1st coat put down vs. in the basecoat. 3. Reveal what texture or flatness you are going to get when done with the job before the basecoat is put down. 4. Help to fill in the small holes/ cracks/ pits / etc. before the basecoat goes down (although anything more than 1/8" deep really needs special attention before the primer coat anyway). 5. Custom seal a higher water vapor level floor with special primer so you can do an epoxy coated floor when this is needed. 6. Will act like a paint primer in maintaining a consistent color over the whole floor for the next layer of basecoat if needed. 7. Can improve the bond between floor and basecoat, helping to avoid tire pulloff problems. So all great stuff. If you use one it has to be epoxy! No paint type primer will work with epoxy! Water based epoxy makes a good primer or diluted 100% solids so it will **** in the concrete and grab better. Another approach is to just not do a primer if you don't have high water vapor level, don't have bubble issues, don't have adhesion problems, etc. and just do your basecoat to save cost. If these issues show up, just buy more basecoat and put it over the first basecoat level and that is your primer then! I used a "partial primer" just to fill in holes/cracks/pits where needed using some Rustoleum 100% solids patch kit. That worked great for me and I had no other needs for a primer on the whole floor and saved cost this way. If you want to be sure it is great and don't care about the cost, use a primer for sure. Otherwise, use the 2nd basecoat layer primer method above only if you have issues from the 1st basecoat layer. Good to just buy extra basecoat epoxy in the first place for use as a primer coat to save money on it up front if you are going to do it because epoxy is always cheaper in larger quantities ordered. You can also just buy extra main epoxy upfront to fill in all those cracks/pits, etc., and not need any Rustoleum 100% solids patch kit then. I needed it because I already had the main epoxy and needed a local solution to provide more without waiting to have things shipped. Menards carries the Rustoleum and was local. You can mix epoxy about 1 part epoxy to 4 parts white silica sand to form an epoxy morter or grout to fill in the cracks/holes/pits and stretch the expensive epoxy this way for lower cost. The patches are actually stronger this way with the sand in the mix (hard sand is a big part of cement).
Polyaspartic/Polyurea: Basecoats for a garage vs. epoxy make a lot of sense. Except that these are not even close to user friendly for the DIY to install. I know how to do epoxy well now but I would not think of trying to do this one myself. Won't ever amber so good choice I think for a garage with sunlight. I'd hire a pro if this were considered. Same prep otherwise as above for epoxy.
VCT: Nice patterns but not so tough as epoxy. Alpha recommends an epoxy/polyurethane clear over it, but then could eventually amber and you are pretty pricey at that point. Lots of maintanaince and waxing required every year otherwise.
Ceramic Tile: Jack has started this one as a cheap alternative to epoxy but tougher by far and free of many of its issues/limitations. Doesn't actually crack or fail if installed well. May be lowest cost most durable option for the money. There may be a reason pretty models hang out in Jack's garage (see recent magazine article if you haven't seen that yet!) Could be done for a little over $1 a sq foot if you get a good deal on cheap closeout tile to use.
Porcelin Tile: Higher end but better tile that people seem to love. Ultimate floor? Maybe.
Tile Prep/Installation: Not easy to do and time consuming for the DIY. But can be done by most DIY with effort, like floor grinding prep for epoxy this way. Can also be done in stages and not all at once generally.
Cement Densifier/Acrylic Type Sealer: Can protect the basic cement and make it harder to be chip resistant and spill resistant. Cheaper option than most of above except perhaps basic ceramic tile, depending on what you buy and where. Probably a good option for the working shops or very large floors to do with the lower cost, but you don't get the fancy colors or patterns with it and might have to touch up the sealer every so often.
Acid Etch Stain: Similar to epoxy above but with different colors and patterns, generally used with a polyurethane clear over it, but no ambering worries ever with this recipe, unlike an epoxy. Could be cheaper than epoxy/clear coat depending on cost of the stain/etch.
Racedeck or other plastic tile: More expensive than some of the above but a good alternative in some cases where there are issues doing other options successfully. Not my area so that is all I'll say on this one. Many other experts on this on the forum.
Hope this helps some newbies or others on the fence. Also, I do recommend visiting Shea's little flooring website. He has pulled together info from this forum and other places into one site that has alot of good info on it now. Check it out. All the above are my opinions folks, so take them as such. Others are free to have other opinions as you may like. -- Paul