It might not always be the person's fault they can't communicate. If the partner, friend, or co-worker doesn't take the time to listen to what the person has to say it makes it difficult to communicate your feeling and let a person know what is wrong.
Another reason could be that the person is trying to communicate and when explaining something the other person talks at the same time. This makes it hard to get your point across and you just give up.
Other issues have to do with today's society and how everything is done in text messages or online. People lose the skill to communicate with others and relay on a phone or table to say what they want.
Take, for example, the last time I was in Japan I noticed something about everyone on the street or on the train. Nobody talked and if you talked everyone looked at you so strangely. The way they communicated with each other was through text messages. I know this has to do with the culture of the country and respect the peace of the person around you. they feel being quiet is respectful and nobody in public seems to talk there. This also is another example of why it is hard to communicate with others. It can be because of your culture and how you were raised.