Basic/AdvancedAdvanced features create a User Interface challenge. Some great, feature-rich programs (looking at you, Sparx EA) are really hard to learn in part because the common UI commands are totally interspersed with advanced, obscure ones.
I like a UI approach that tries to work the 80/20 rule. The 20% main, common features are super-discoverable, front-and-center. The 80% complex, advanced, and obscure features are segregated in a pen labeled "Advanced". Of course this is an ideal, sometimes the problem is that while most users only require 20% of the feature set, everybody has a different 20%.
Often in troubleshooting software, the surest, simplest thing is to return to a known state. Often, this means something along the lines of "reset to factory default". Much software, though far from all, incorporates this feature. The feature I would like to see coupled to factory reset is "store all current settings". Effectively, allow the user to toggle between factory-fresh, and their current, sometimes painstakingly configured state.