You've clearly never worked on a complex software project before. It isn't the actual programming of a checkbox that's difficult. What about testing, documentation, interactions with other features, how to handle upgrading software, worse what to do on a downgrade where the previous software has...