Collusion is not necessary for this to occur. Everyone just follows incentives. The hashers provide hash at the lowest cost they can. The pools maximize revenue by including EVERY transaction they can (regardless of node rules). Exchanges nodes will always try to maximize the amount of Bitcoin they can purchase from miners. Making their relationship symbiotic. Core are coders first and the more feature rich you can make a program, the more you can do with it.
All of this culminates in the mining pools effectively setting the rules of the network. I have expressed how this could be exploited to get even more control but THAT requires collusion. The issue is they didn't realize they were in control until last Saturday.
As far as the UASF there was no URSF meaning the miners have the option to do a MRSF. But, normally people would say "The hashers would move their hash out of a pool that goes rogue. The hashers did not do that. I think they are complacent and will go along with whatever the pool pushes.
