I think madhuri touches on it but I think soft skills goes far beyond just working harmoniously with other people.
It may help to define what "hard skills" are. I see hard skills as the skills you have specifically related to or required for your job. The language(s) you code with, the operating system(s) you work with, the programming styles (i.e. object oriented), etc are examples of hard skills. They are trainable/learnable skills.
What are some things missing from actual skills and abilities required for a job? To me, those are the soft skills. Aptitude, attitude, communication abilities, personality, and work ethic are all soft skills at least for a developer. With the exception of certain communication abilities, these things are generally not trainable. Someone with the right aptitude can learn a new programming language; however, everyone does not have the aptitude to learn a new language. We may be able to teach someone a new communication hard skill, such as English or French, but that will not give them the soft skill of being able to use that skill to effectively communicate with people. I am a little dramatic in stating soft skills are not trainable as some aspects like work ethic and attitude can be changed/controlled by a person -- I think you can see the perspective vs a skill like coding.
I have had the opportunity to be the interviewer on many occasions for a variety of positions. In addition to a certain amount of hard skills, I have learned to look for the soft skills in candidates. The soft skills are the things that are part of who that person is and least likely to change. I'll take my chances letting an intelligent java developer learn C# as opposed to taking mt chances that someone who can't speak clearly is going to learn to speak clearly by attending conference calls.