Good question.
I make assemblies from parts (i.e. Tee, bit of pipe, welded flanges). I turn the individual items into a block so that it is identifiable as an assembly. When I come to tag (leader with description) later in the project I have the option of either tagging the Assembly (i.e. Welded Steel Assembly R001) or labelling the individual items that I click (i.e. Flange 6").
I put all of the entities that make up the block onto layer 0. I put the actual block onto an assembly layer (i.e. Steel Assemblies). The items within the block will take on the block's layer. This is useful because if I try to layer freeze the assembly then I can by freezing just one layer rather than multible ones.
I is great to to use the following techniques as well as layers:
1) Isolate objects (part of ACA but can be mimicked using object.visible in VBA)
2) Use materials as another way of filtering on top of layers