When aiming to keep good staff, there are a few things that are very important and should be taken into account.
Salaries is the most important thing since talented staff are usually attracted by high pay and they will stay in the company for a long time if the salary is high enough. If companies fail to offer high salary, their good staff may leave them for companies that can provide more money.
Promotion opportunities, on the other hand, also play an important role because staff want to know that there is room for improvement for them in the company. If there are no promotion opportunities, they may find other places that have. So companies should provide promotion opportunities fro their good staff in order to retain them.
That’s why I think these two factors are both important.