Kuffar just means Disbelievers in the message of Islam. The opposite of the word Kuffar is Mu'minun that means Believers.
For example iam Kaafir(singular) in the message of Xtianity, Budhism, Hinduism. I dont mind when xtians/catholics recognizes me as infidel. Iam not saying that iam believer of xtianity, hinduism and buddhism so in that case iam happy to be labled Kaafir/Infidel.
I think a non muslim might be a offended because of the context it is used in the west especially by Isis&co . I don't see why one needs to say kafir when talking to a non Muslim who doesn't understand Arabic.
I think it was mentioned before kuffar is plural..the singular is kaafir. In the Arabic language words have a root. Kafir comes from the root word ka-fa-ra
Words in Arabic have a meaning from a linguistic point view and often also a meaning from the Qur'an point of view. And often can mean different things depending on the context. For example the word sauwm (fasting) linguistically means to withhold and in the Islamic context it means to fast..to withols from eating,drinking from sunrise to sunset. In the Qur'an both are used when Mary withheld from talking for 3 days and the other time when Allah orders us to fast for 30 days.
The word kuffar is jam3(plural) the singular is kafir. The word linguistically means to cover..the example that's often used linguistically is when a farmer covers the seeds in the soil. If we look at the meaning of kafir in the Qur'an its when Allah is referring to those who disbelief in a certain context. Allah also uses yaa 3ibaadi ( my servants) in a certain context and in other verses Allah says ' yaa ayuha naas' oh people. All referring to non Muslims.
So if one understands the different sciences in Arabic like the grammar,context, rhetoric you will understand that it isn't an insult..but the people who use it as an insult or to disrespect are to blame.