The UFC stops them by not paying the fighters the percentage of big money fights the fighters think they deserve. That's often the case in prize fighting -- its why it took several years for the Mayweather-Pac fight to happen. Everyone was talking about how one or the other was afraid, but when the money was right suddenly all the fear magically disappeared -- almost as if it'd always been just about the money.
The problem is the UFC and the fighters are all independents (ie they're not employees), and so everyone is responsible for figuring out what they want to be paid for a given fight. That's no different than plumbers or electricians or any other contract worker. Just because you offer a plumber their regular pay for an exceptionally hard job doesn't mean they'll take it (and in fact most will ask for higher than normal pay for a harder and riskier than normal job).
The fighters and the UFC know this. Fans don't, and so they think its about challenge and fear and legacy and all those things that sound nice but don't put bread on the table. As many once rich (as in more than $100 million earned) and now broke athletes have found out, you can't eat legacy (Google it for a long list of athletes who blew far more money than either GSP or Anderson ever made).
mma and boxing are 2 different things. ufc didnt stop conor vs floyd. ufc didnt stip conor vs diaz. ufc didnt stop gsp vs bisping. ufc didnt stop jorge vs diaz. ufc didnt stop brock lesner from fighting.
ufc didnt stop brock vs dc. brock did. ufc didnt stop gsp vs anderson gsp did. ufc didnt stop brock vs fedor fedor did. ufc didnt stop randy vs fedor fedor did. ufc didnt stop jon joens vs brock jon jones did.
duh floyd vs pacman makes more money the tickets were 250k for ring side and ppv was 120 plus. what mma fight you paying 250k to sit cage side for.