The short answer - A salary is a fixed annual amount paid to managers and professionals. Wages are an amount paid per hour or day, or per unit produced, and are paid to all others.
Here is the long answer:
A salary is an annual amount that an employer agrees to pay to an employee. It is divided into equal parts and paid out weekly, biweekly (fortnightly) or monthly. Usually, but not always, those employees who are salaried do not earn overtime, or said differently, their earnings do not depend on how many hours they work in a given week. Typically, managerial employees and professional degree or certificate holders are paid on a salary basis. They often also earn annual performance bonuses.
Wages is an amount that an employer pays to an employee on a per hour, per day or per item produced (piecemeal) basis. Employees who earn wages can earn overtime or, if they are piecemeal workers, extra pay by producing more than expected. Wage earners, just like salaried workers, are typically paid weekly, biweekly or monthly. Overtime or extra piece pay can be paid at the same time as regular wages, but is sometimes paid on a less frequent basis. Usually non-managerial and non-professional employees are paid on a wage basis. They sometimes also receive annual bonuses, but far less frequently and in smaller relative amounts than salaried workers earn.
Quite often, someone who earns wages has their earnings expressed as if it is a salary, but this is merely a convenient way to compare the two.