it's not particularly hard to handle one particular situation in a program multiple ways without a massive performance penalty. Or even several hundred. The constructs exist in most major programming languages.
There are two major reasons developers don't use them:
1. It dilutes available resources. Instead of having one system that's outstanding at what it attempts, you get 50 that all underwhelm.
2. You've made the game significantly buggier, and significantly harder to test and gained at most a miniscule amount of goodwill from the most hypercritical audience you have, because 90% of the rest of the world isn't going to play with the options at all.
Edit: and I'd like to thank everyone for the most charitable assessment of my maturity ever. I'm more often described as "12 years old, with 20 years experience at it". It's just that trying to see the other side of the coin... is pretty essential to being a good writer, which is one of the hundreds of things I wish I could be...