Because a star level player can completely alter a team, and the league has max contracts that make it so that 3 of them can team up even if they sign for the maximum contracts that are in place... The league doesn't promote parity. LeBron should be making 75% of the salary cap, if it was based off impact.
The league could take steps to making it more competitive with more parity, but they're lazy, and would rather just promote 3 teams and 5 players and not give a crap about any of its other members. It's stupid. Compare it to other leagues... It's horrible.