In MotoGP, a rider salary cap would provide surety to the teams regarding max rider payroll, and it often provides riders with minimum salary requirements, which thwarts some sponsor power regarding pay-riders. Depending on the exact numbers, Dorna could also support a salary cap because it gives some definition in the negotiations with the teams. It could also be used to spread talent around. They could designate #1 and #2 rider min/max pay, meaning that 2 riders on the same team cannot be making max pay. Of course this could undermine the quality of the racing, but it does help keep more manufacturers involved.
Salary cap could also be a minor vulnerability for Dorna, though. When riders become sporting icons or cultural icons, like Rossi, their value is more than the pay received from their employer, and they seek money from the league. This is particularly true in car racing, and there were rumors that F1 signed a deal with Schumacher when he retired not to race in other series. Some of you may remember Rossi flirting with Ferrari regarding a jump to F1. This was likely part of his negotiations with Dorna, and it probably worked because he appears to have a natural talent for 4 wheels. If the teams are shouldering less of the salary burden, the league will need to make up the difference.
Riders' union is a vehicle that allows the riders to negotiate collectively, everything from salary caps to long lap penalties to fines. They can also assume additional responsibilities for financial arrangements like pensions. It provides certainty for the league, but also introduces the possibility of labor stoppages, which would be unprecedented in motorcycle racing.