"Yeah, we're out there doing shows-of-force mostly. Not like the F-15 guys. We buzz the suspected sites, come in low and fast... crank up the afterburner, pop off a few flares, and make Haji shit his pants."
-- American pilot, 2005 (paraphrased)
Every enemy needs a name. Japs, Huns, Krauts, Nips, Dinks, Gooks, Eyeties. Commies, Roman Oppressors, Southerners, Yankees, Right-Wing Nutjobs, Left-Wing Nutjobs. The list probably goes back until before time. For the Iraq War, we've picked "Haji". Just as every German was "Jerry", every southern black man was "Sambo" or "Jim", now every Iraqi is "Haji". I haven't been over there, so I don't know whether it covers all of them, just the bad ones, or just the good ones, but it's the sort of thing that probably doesn't have hard and fast rules. In case context has not made it clear, the word has become an epithet.
It stems from the same root as the honorific (or possibly the character Hadji, from Johnny Quest). Even the G.I.s who call every Iraqi with a gun "Haji" have to realize that the enemy is just as likely to be a Jordanian kid going to see the war against the Rich Satanic Occupiers, maybe fire off a Kalashnikov -- not exactly a hajj, but definitely a pilgrimage. At any rate, it's easier to pronounce than "Mujaheddin".
In public speech, the new preferred term is "arhabi", which means "soldier" or "grunt" in Iraqi Arabic -- the connotation is "terrorist". Arhabi does not have the same connotations of holiness as "jihadi" or "Mujaheddin", not to mention the back-handed insult to Islam that Haji delivers. However, the term is still a novelty to Americans; as of this writing, "Haji" dominates spoken slang and Internet discussions.