The kaafir is the one who denies and conceals the truth. The basic meaning of the word kufr in Arabic is concealment. Shirk means devoting worship to anyone or anything other than Allaah.
Kufr may take the form of denying and rejecting, but the mushrik may also believe in Allaah. This is the difference between the mushrik and the kaafir.
Each word may also carry the meaning of the other, so the word kufr may be used in the sense of shirk, and the word shirk may be used in the sense of kufr.
Al-Nawawi (may Allaah have mercy on him) said:
Kufr and shirk may carry the same meaning, which is disbelief in Allaah, may He be exalted, or they may be used separately, whereby shirk refers to the worship of idols and other created beings, whilst also acknowledging Allaah, as the kuffaar of Quraysh did, and kufr may have a more general meaning than shirk. End quote.
Sharh Saheeh Muslim. 2/71
Shaykh ‘Abd al-‘Azeez ibn Baaz (may Allaah have mercy on him) said:
Kufr is denial and concealment of the truth, such as one who denies that prayer is obligatory, or that zakaah is obligatory, or that fasting Ramadaan is obligatory, or that doing Hajj when one is able to is obligatory, or that honouring one's parents is obligatory, and so on, or one who denies that zina is haraam, or that drinking intoxicants is haraam, or that disobeying one’s parents is haraam, and so on.
Shirk is devoting acts of worship to something or someone other than Allaah, such as one who seeks the help of the dead, those who are absent, the jinn, idols, the stars, and so on, or who offers sacrifices to them, or makes vows to them. A kaafir may be called a mushrik and a mushrik may be called a kaafir, as Allaah says (interpretation of the meaning):
“And whoever invokes (or
worships), besides Allaah, any other ilaah (god), of whom he has no proof;
then his reckoning is only with his Lord. Surely, Al‑Kaafiroon (the
disbelievers in Allaah and in the Oneness of Allaah, polytheists, pagans,
idolaters) will not be successful”
“Verily, whosoever sets up partners (in worship) with Allaah, then Allaah has forbidden Paradise to him, and the Fire will be his abode”
And Allaah says in Soorat Faatir (interpretation of the meaning):
“Such is Allaah, your Lord; His is the kingdom. And those, whom you invoke or call upon instead of Him, own not even a Qitmeer (the thin membrane over the date stone).
14. If you invoke (or call upon) them, they hear not your
call; and if (in case) they were to hear, they could not grant it (your
request) to you. And on the Day of Resurrection, they will disown your
worshipping them. And none can inform you (O Muhammad) like Him Who is the
All‑Knower (of everything)”
Their calling on anything other than Allaah is called shirk in this soorah, but in Soorat al-Mu’minoon it is called kufr.
Allaah says in Soorat al-Tawbah (interpretation of the meaning):
“They (the disbelievers, the Jews and the Christians) want to extinguish Allaah’s Light (with which Muhammad has been sent — Islamic Monotheism) with their mouths, but Allaah will not allow except that His Light should be perfected even though the Kaafiroon (disbelievers) hate (it).
33. It is He Who has sent His Messenger (Muhammad) with guidance and the religion of truth (Islam), to make it superior over all religions even though the Mushrikoon (polytheists, pagans, idolaters, disbelievers in the Oneness of Allaah) hate (it)”
Here Allaah calls the kuffaar kuffaar, and He calls them mushrikeen. This indicates that a kaafir may be called a mushrik and a mushrik may be called a kaafir. There are many similar verses and ahaadeeth.
Another example is the hadeeth in which the Prophet (peace and blessings of Allaah be upon him) said: “Between a man and shirk and kufr there stands his giving up prayer.” Narrated by Muslim in his Saheeh from Jaabir ibn ‘Abd-Allaah (may Allaah be pleased with him). And the Prophet (peace and blessings of Allaah be upon him) said: “The covenant that differentiates us from them is prayer; whoever gives it up is a kaafir.” Narrated by Imam Ahmad, Abu Dawood, al-Tirmidhi, al-Nasaa’i and Ibn Maajah with a saheeh isnaad from Buraydah ibn al-Husayb (may Allaah be pleased with him). And Allaah is the Source of strength. End quote.
Majmoo’ Fataawa al-Shaykh Ibn Baaz, 9/174, 175.
The Shaykh (may Allaah have mercy on him) also said:
It is also shirk to worship only something other than Allaah. This is called shirk, and it is called kufr. Whoever turns away from Allaah altogether and devotes his worship to something other than Allaah, such as trees, rocks, idols, the jinn or some of the dead such as those whom they call awliya’ (“saints”), and worship them, pray to them or fast for them, and forget Allaah altogether, this is the worst form of kufr and shirk. We ask Allaah to keep us safe and sound. Similarly those who deny the existence of Allaah and say that there is no god, that life is only material, such as the communists and atheists, are the most disbelieving and misguided of people, and the worst in terms of shirk. We ask Allaah to keep us safe and sound. The point is that people who hold these and similar beliefs are all regarded as mushrikeen and kaafirs who disbelieve in Allaah. Some people, out of ignorance, mistakenly regard calling upon the dead and seeking their help as waseelah and think that it is permissible. This is a serious error, because this action is one of the worst forms of shirk and associating others with Allaah. Some ignorant people and mushrikeen call it waseelah, but it is the religion of the mushrikeen whom Allaah criticized and condemned. He sent the Messenger and revealed His Books to denounce it and warn against it. End quote.
Majmoo’ Fataawa al-Shaykh Ibn Baaz, 4/32, 33
The Jews and Christians are both kaafirs and mushrikeen. They are kaafirs because they deny the truth and reject it. And they are mushrikeen because they worship someone other than Allaah.
Allaah says (interpretation of the meaning):
“And the Jews say: ‘Uzair (Ezra) is the son of Allaah, and the Christians say: Messiah is the son of Allaah. That is their saying with their mouths, resembling the saying of those who disbelieved aforetime. Allaah’s Curse be on them, how they are deluded away from the truth!
31. They (Jews and Christians) took their rabbis and their monks to be their lords besides Allaah (by obeying them in things which they made lawful or unlawful according to their own desires without being ordered by Allaah), and (they also took as their Lord) Messiah, son of Maryam (Mary), while they (Jews and Christians) were commanded [in the Tawraat (Torah) and the Injeel (Gospel)] to worship none but One Ilaah (God — Allaah) Laa ilaaha illa Huwa (none has the right to be worshipped but He). Praise and glory be to Him (far above is He) from having the partners they associate (with Him)”
[al-Tawbah 9:30, 31]
Here they are described as mushrikeen. In Soorat al-Bayyinah they are described as kaafirs, as Allaah says (interpretation of the meaning):
“Those who disbelieve from among the people of the Scripture (Jews and Christians) and Al‑Mushrikoon, were not going to leave (their disbelief) until there came to them clear evidence”
Shaykh ‘Abd al-‘Azeez ibn Baaz (may Allaah have mercy on him) said, refuting those who say that the word mushrikeen cannot be applied to the People of the Book:
It is most likely that the people of the Book are included among the mushrikeen, men and women alike, when this word is used in general terms. because the kuffaar are undoubtedly mushrikeen. Hence they are forbidden to enter al-Masjid al-Haraam, because Allaah says (interpretation of the meaning):
“O you who believe (in Allaah’s Oneness and in His Messenger Muhammad)! Verily, the Mushrikoon (polytheists, pagans, idolaters, disbelievers in the Oneness of Allaah, and in the Message of Muhammad) are Najasun (impure). So let them not come near Al‑Masjid Al-Haraam (at Makkah) after this year”
If the People of the Book did not come under the general heading of mushrikeen, then this verse would not apply to them, and Allaah would not have referred to the beliefs of the Jews and Christians in Soorat Baraa’ah (al-Tawbah) where He says (interpretation of the meaning):
“they (Jews and Christians) were commanded [in the Tawraat (Torah) and the Injeel (Gospel)] to worship none but One Ilaah (God — Allaah) Laa ilaaha illa Huwa (none has the right to be worshipped but He). Praise and glory be to Him (far above is He) from having the partners they associate (with Him)”
So they are all described as mushrikeen, because the Jews said that ‘Uzayr is the son of God and the Christians said that the Messiah is the son of God; and because they took their priests and rabbis as lords instead of Allaah. All of this is the worst form of shirk. And there are many similar verses. End quote.
Majmoo’ Fataawa al-Shaykh Ibn Baaz, 4/274
And Allaah knows best.