Partial Deployment with Feature Switches
blog.disqus.com
blog.disqus.com
EDIT:
I found http://github.com/bvandenbos/redis_feature_control which handles features globally (either on or off for everyone). Unfortunately doesn't handle things on a per user/session/etc basis though - although it shouldn't be too hard to add that feature using Redis sets.
1. Most people aren't used to web-app development
2. if-else is considered not OO by some purist (or even by some semi-purist). if-else might also be considered hard to test (adding more branches).
3. People are probably ignoring deployment issues (not high priority) or perhaps they just throw it to the Ops team to deal.
The keyword is "Discipline". This is the very fundamental principal for anyone in the IT industry.