I am not a scholar. I have heard that the Arabic word Kafir can be used for a farmer because it literally means 'someone who covers up' and farmers cover up the seed when planting crops. Covering up is a type of ignorance or lack of knowledge and awareness, we could say we (that is Muslims) have levels of ignorance and sometimes lose the awareness of Allah as the Only Power, Will and Strength. But ultimately we renew our eman with the testimony of the shahada. People who are not Muslim have greater levels of ignorance than Muslims generally speaking, however some non Muslims may have a greater awareness of a God than some Muslims, though they are still classed as being 'kafir' by the shariah. Calling ignorant people kafir is counter productive, it sounds like a insult and is likely to put barriers up between people, so it is better not to use the word. How do humans cover up the truth? All of us are born in particular cultures and environments. Our personalities form and we pick up the cultural ways of our social environments, we develop cultural filters which make us believe our own truths....much of this is based on ignorance. So let us say we meet a Muslim when we are aged 20, who invites us to Islam, we may not hear what is being said because we are convinced that our way is right and Muslims are bad people who follow a violent religion. Muslims class non Muslims as not fully human and have a term for them. They refer to them as kafirs. A Muslim who is aware of this mindset would do well to appreciate this and adjust their message maybe refrain from using the word kafir until they have given knowledge (or removed the levels of ignorance).