Methods in Solidworks

I generally try to keep parts independent as much as possible, since as others have stated assembly relations have a habit of getting mixed up and not translating when you try to use things in new assemblies, and a parent model can get bloated at times. However, if I’m making any sort of (even mildly) fancy surface that straddles two or more parts or if two parts have complicated mating surfaces I will use a parent model. Despite it’s downsides it’s the only real way I know to make complex surfaces match and does a good job making sure that if you make a change to one part you will also make a change to the mating part (moving holes, etc.). If the model starts to get big, or if there are a lot of features on individual parts that don’t relate in any complex way to other parts I will often make a base parent part with the common geometry then use that as a base for other parts. I’ve found that Insert>Part works best for me for this purpose. If there are extra bodies that a particular part doesn’t need I can just delete them as the second feature. It seems to be a lot more stable than Save Bodies and is good at updating references if you change the name of the base part (just make sure everything is open when you’re doing a Save As).