At the opening of al-Baqara the Qur'an names people by three stances: the believers, the coverers (kāfir) and the two-faced (munāfiq). These define a stance, not an insult to persons.
Kāfir — "the one who covers" (kufr = to cover)
The root k-f-r means "to cover, conceal" — even a farmer is called kaffār from it because he covers the seed with soil. As a term, the kāfir is one who sees the truth and covers it / denies it.
- "Whether you warn the disbelievers or not, it is the same; they will not believe; God has sealed their hearts and hearing." (2:6-7) — the result of persisting in denial.
Munāfiq — the hypocrite (nifāq)
Denial within, faith displayed without.
- "They say 'we believe' while they do not; they try to deceive God and the believers; in their hearts is a disease." (2:8-10)
Mushrik — the one who associates partners (shirk)
Setting up an equal/partner to God.
- "O my son, do not associate partners with God; shirk is a tremendous wrong." (31:13)
- "Some people take besides God equals, loving them as they should love God." (2:165)
- The Qur'an makes shirk the one sin not forgiven without repentance: "God does not forgive that partners be associated with Him, but forgives lesser than that for whom He wills." (4:48)
An honest limit: these terms define a stance. Judging a specific person as "kāfir/munāfiq" is not an authority the Qur'an gives to humans; the final verdict is God's. We give the definition, not a verdict on persons.
Source: Qur'anic verses (M. Okuyan meal). Presented with a text/interpretation distinction; it defines a concept, not a verdict on persons.