I've used KG Gunkote, Cerakote (hot and cold), Duracote, and Amra-cote.
If you have an oven, don't even consider the last two, except for scopes, plastic, and other un-bakeables.
A few years ago I sprayed a set of old scope rings, one with KG and one with cerakote and baked. I threw them in the brass tumbler for an hour or two to beat them up a little, then stuck them on my key ring for a week or so in my pocket bouncing around, then left them on the top of a fencepost for another couple weeks in the rain. Not too scientific or ASTM approved testing, but empirical enough for me. Cerakote won as expected, but not by a huge margin.
KG has more lubricity (good for internals), goes on thinner, requires no mixing (and resulting wastage), and flattens as you spray. Fish eyes and uneven spraying tend to fix themselves during the baking giving a very even finish. I like KG for quick smaller projects and also use it on internals. You can spray things as fine as the firing pin stop screw on a model 70 with KG. KG being a non-catalyst coating requires 300F fairly accurately for proper cure.
Cerakote is overall tougher but requires precise mixing and is thicker and more finicky to spray. The finish you have when you put it in the oven is what you get when you take it out. It can also be sticky on moving parts. Cerakote can be baked cooler than KG requires so if you have a marginal baking setup Cerakote is better.
I will continue to use both for where they are best, but overall for a DIY KG is easier to use and get good first time results with 90% the wear resistance of Cerakote.