I went the "el-cheapo" route and used the Rust-Oluem brand two-component epoxy from home depot. It has been holding up surprisingly well so far. There are of course better coatings out there, but, for the money spent, I am extremely happy with it.
About the only thing that can scratch it is DRAGGING something heavy with metal casters (like a loaded engine stand) across it AND the caster gets crossed-up...and even then, it only scratches the surface but doesn't ever chip or come up off the floor...My floor was bare concrete from 1986 to present and had plenty of oil staining, etc. The rustoleum kit came with citric acid (in powder form which you mix w/water) to clean/etch the concrete. No matter which system you go with, preparation will play the biggest role in getting good adhesion....Here are a couple pics: