When is a good time to use derived configuration? I tried it on a part and found not only the child inherit properties from the parent, the parent also picks up all the changes I made in the child.
It was a drill template I was working on, dash 1 is without bushing, dash 2 with. So I figured it is a good candidate for derived config. Originally, I made dash 1 the parent, dash 2 the derived config. Since I was lazy, I created the bushings as solidbody inside the part file as suppose to an assy. And I found the bushings also showed up in the parent config. The only way I found to make them different was to add the bushing in the parent, then suppress them in the child. Is that the way it is supposed to be? Did I miss some toggle settings somewhere?
Derived configs are handy when you want the derived configuration be linked to changes in the parent config, except for specific items. To make a change in the derived configuration, make sure you make the change "in this configuration" only. For example, in a component's properties, you can usually suppress the component in 3 ways: all configs, this config, and specify configs. In a derived configuration, there is a 4th option, "linked to parent config". Change it to "this configuration" to make the change you want.
You are correct derived configurations are bi-directional back to the main configuration. To help answer the question as to when are they good to use: I believe that this was created for sheetmetal bent & flat states. As if you were to add a cut to the flat state configuration (derived) then you WOULD want it to push back to the main configuration & visa versa. Solidworks will create a derived configuration of a sheetmetal part automatically when you insert the flat pattern view into a drawing (you do not have to make that configuration yourself.) However users can create them manually (as you know) in non sheetmeal parts, however you will have to break the bi-directional link in the properties of each feature. I believe Dale Dunne has explain in detail how to do that.
I hope that helps further explain how & why for ya
To give you an example . . . imagine you have a couple of major configurations of an Assembly, based on differences between several Parts. And imagine you want to illustrate the differences in an ISOMETRIC cutaway in a Drawing for your production people. And you know that using the cutaway options in Drawing mode is very useful for orthographic views, but not quite so much for isometric views. You want to show some Parts cut partially away, and maybe even differently depending on the Part, and you want to do it for both major configurations of the Assembly. So . . . you make a derived configuration for each major configuration in the Assembly to show the cutaways.
Now, you can use Extruded Cuts in the derived configurations that are resolved only in the derived configuration (but suppressed in the parent configuration). Maybe, however, you want to show some particulars that require you to actually make cuts at the Part level, and the Parts themselves in question have configurations. At the Part level you can make derived configurations of each of the configurations used in the Assembly, and in those derived configurations you've got cuts . . . maybe even different cuts per different configuration.
You've basically just used the derived configurations to organize purely illustrative items that are not actually used in production. The reason for doing so is to prevent someone from looking at the SolidWorks files and seeing multitudinous configurations and having to wonder whether some of those illustrative configuations are applicable to production. Yes, you could probably accomplish the same by naming them carefully, but the derived configuration helps you in your organization.
Here's a simple derived assembly configuration example. To do an assembly drawing of specific parts including added assembly features, you cannot suppress critical parts because the assembly features will not appear for the drawing. But you can hide the majority of unnecessary items in a parent configuration. Then in the derived (child) configurations hide specific additional items required to create final part drawings including assembly features. This saves the time of hiding the same components if these were not derived configurations. And if you forgot to hide a major item the first time, hide it in the parent configuration and it's hidden in all the derived configurations.