I read somewhere else in these forums that it is done to express the fact that there is no "the" in front of "man" but "a". So if it's "a man", then the 'un' sound is appended when pronouncing 'رَجُل'. However, if it's "the man", there is no 'un' sound at the end.
To be honest, it confuses the hell out of me too. It's very distracting.
Mostly the "-u" and "-un" ending sounds (in a word) are used when the word is in the nominative case -- like benton.1 has said.
Just for the simplification. The difference between the -u and -un is that, the first is applied for the definitive noun (ال) while the later is for the indefinitive noun (without ال).
الرجلُ : ar-rajulu
رجلٌ : rajulun
For the speaking concern, the -u and -un are pronounced in the Formal way (or Standard) while in Dialect and informal way, both -u and -un are not spelled.
Nb: if we are confused by this matter, it is normal. Oftentimes, many Arabs themselves make mistakes in Arabic Grammar :))
In English, adjectives come before the nouns they modify. In Arabic, adjectives come after the nouns they modify. In this sentence, "Arab" is used as an adjective describing what kind of American (also an adjective in this sentence) the man (a noun) is. So, in English it is "An (arab) AMERICAN man, while in Arabic it is "(a) Man AMERICAN (arab)".
According to grammatical rules, adjectives do not modify other adjectives. However, the way we speak of nationalities these days, they seem to. I like to look at "Arab" in this sentence, both in Arabic and English, as an adjective describing/modifing the adjective "American".
I hope I've been able to help a bit.
Because you are supposed to be translating into the correct grammar in the language you are writing in. American Arab is not something we say in English. Also, adjectives are not written in the same order in English as in Arabic so you can't translate them in identical order. You need to translate appropriately for the language you are translating into.