Cocky I would apply to men more than to women. Its association is with cocks (cockerels/male chickens) and cock is slang for a penis. Cocky is an informal version of cocksure, I believe, and cocksure derives from Godsure = presumptuously arrogant and self-confident.
I would use arrogant in it's usual sense, and in general. I feel 'cocky' veers towards 'overly self-confident.' It is applied to certain types of people. The most frequent use might be in the phrase 'cocky little bastard.' It's a type of swaggering, very self-assured, impudent, often small man, from the working classes. Cocky men are often 'cheeky' and conceited.
It is very different from the 'haughty' arrogance that one associates more with upper-class people, or upper middle-class.
Before anybody shoots me down, I should add that these are stereotypes, and I know it. However, in a novel, the author usually chooses 'cocky' for the working class villain or hero (and yes, 'cocky' is not always seen as a bad thing!) and 'haughty' for the upper-class villain or hero, or more likely... the splendidly uppercrust grandmother of the hero.. all black lace and stern looks.
Any vocabulary here that you need explaining... uppercrust, veer, etc. ... please contact me.
But I think you'll get the general idea of who might fit the description 'cocky' and who might fit 'haughty'... both they are both a type of arrogance.