There's not a significant difference, but if I could classify them by how formal they are I'd say:
pay - the most casual/least formal - examples: "I got paid today" , "I need higher pay to buy a house" - it's the way you'd talk among friends, not so much when talking with your boss.
wage - more formal - examples: "You'll get your wages monthly" , "Accountants normally have a higher wage than shop assistants" . In my mind it's a more 'working class' term, I wouldn't expect a senior executive to talk about their "wage", only low or middle income workers.
salary - a bit more professional than wage, when negotiating a pay rise at work, for example. Examples - "An annual salary of $30,000 won't get you far these days" , "He changed companies to secure a higher salary". I would expect more senior staff to tend to talk about 'salary' rather than 'wages', although they are synonyms and interchangeable, they just have slightly different connotations.
Hope that helps, let me know if you're not clear!