These three verbs can all be translated as “ganar” and this sometimes leads to confusion, so here are some examples of how they are used:
Gain = increase weight or speed
Most people gain weight at Christmas because they eat more than usual.
The train gained speed gradually once it had left the railway station.
We can also use gain with a reputation, recognition and advantage.
My boss has gained a reputation for being very demanding.
Earn = obtain money for work or services
In his company, most employees earn over £2,000 a month.
Win = be successful or victorious or come first (in a race, a competition etc.)
My school football team has won every match this season.
The conservative party won the last general election.