The problem is that they have other phrases like "Ele ganha o cinto" and say it means "he wins the belt". The inconsistency is very frustrating, and learning a new language is already frustrating enough.
The biggest obstacle in learning is when you don't enjoy it, so yes they should make it consistent but if you found learning already frustrating you are not helping yourself.
I wrote 'She wins the book.' and it says this is incorrect. Does it simply not mean that in Portuguese?
it means that although in English it sounds a bit awkward...
Ganhar can be divided in two meanings:
To win, when talking about games, contests, etc. (Synonym Vencer)
To gain, when receiving things for free.