In NBA, there are different financial rules. First of all, there is a salary cap, so the NBA franchises can't spend more than $ 58 million for all the players on the roster. This rule was made to balance the competitiveness of the league and also to prevent indebted teams. However, there is a flexibility about the salary cap, it is called Luxury tax. Indeed, a team can overtake the salary cap until $25 million more but has to pay 1$ more for 1$ spent above the salary cap.
In European football, there is no salary cap, so, a club can buy a player if it has some funds or can purchase more loans. In that case, we can see big clubs like Real Madrid, FC Barcelona or clubs with rich investors like Manchester City or Paris Saint Germain buying the best players.
Furthermore, the best players want to earn much more money. Actually, they want to earn more money than the others. In NBA, it's a little bit different. The NBA players want more money but there is a cap of $14 million for a maximum contract. This is huge, but this is a limit for not enlarge the gap between the clubs.
A salary cap seems to be a good choice for European football. But it will be very difficult to implement this. First because there is a too huge financial differences between a Manchester United and a Evian Thonon Gaillard in Ligue 1. There is also too much clubs in Europe, so the competitiveness will be too much sprinkled to be good.
However, we can fix a limit, even if it will be not so efficient because of the two factors mentioned before. Indeed, we can't let the wages of football players get bigger and bigger during a financial crisis that make the clubs more indebted.
If you are interested, you can watch the Forbes list of worlds highest paid athletes.