I like doing what people call "top down design". That ensures that if I have to move a threaded hole somewhere, the corresponding clearance hole goes with it, etc.
For a long time I was frustrated that I could not reference more than one assembly from a part. Then I realized that the lock really occurs at the assembly in which the part is edited. In other words, you are not locked to the assembly in which the part is, meaning if you edit from your top level assembly, you can reference any part in any subassembly. Editing a single part in the top level assembly can be inconvenient, though.
Then navigating through the options I see this check box, "Allow multiple contexts for parts when editing in assembly". I coulnd't believe it! I was about to check it, but then I realized there must be a damn good reason why it's unchecked by default.
I see Kevin Lamport's opinion is that it is not "good practice" and "can cause problems". Other experienced members seem to share the thought. But is the real issue only circular relations? That is a danger regardless of multiple contexts, for example, if a mate drives a part which drives the mate, etc. Solidworks definitely has limits in terms of mates, sketch relations, repeated elements, etc., and in one way or another you work around them.
Anyone have any experience with it? Is it actually any different than just editing every part from the top level assembly?