There is lot of difference between role and designation, but v few people in IT industry actually understand it. Many a times role and designation are aligned, but many times it is not. Whenever it is not aligned it leads to lot of frustrations, and confusion for the person on what he should be doing. To make the matters worse, in your annual appraisal cycle you are judged on basis of the designation, and as you were in an unaligned role, you fare badly.
The only way i see around is to press management and HR functions to constantly review this and correct this. However as this is a long run exercise it gets overshadowed by many other things. Many people blame attrition on salary, however one can have happy employees even at slightly lower salaries if you can provide them a challenging work environment and role.
Also there is big lack of planning future for your employees. Most organizations do not have a growth plan for their people. few who have do not stick to the plan, or make a plan which even the employee does not understand and the plan ultimately fails.
Some people do not want to get into a role as they do not have that designation, however it is to be always kept in mind that role precedes designation. Also its easier winning interviews and promotion in other companies if you are already playing that role. About salaries, i have always had a firm opinion, that if you present company does not pays you upto the mark, then someone else will.
I have mixed up loads of things in this post, but that's because the Human resources function in IT industry is majorly pathetic.....