From the Online Documentation.....
Use Reference Set commands and options to control the display of a component or subassembly part in higher level assemblies. Reference sets are named collections of objects in a piece part or subassembly.
There are two types of reference sets:
Automatic reference sets that are managed by NX.
User-defined reference sets.
There are two primary reasons to use reference sets:
Filter unwanted objects in a component part so that they do not appear in the assembly.
Represent a component part in the assembly with alternative or simpler geometry than the complete solid body.
Objects that can be a member of a reference set include the following:
Objects that cannot be a member of a reference set include the following:
Individual datums that belong to a Datum CSYS. You can add an entire Datum CSYS.
View-dependent objects. Their visibility is controlled by the view in which they are displayed, not by the reference set in use.
A well-managed reference set strategy can lead to:
Faster load times.
Reduced memory usage.
Less cluttered graphics displays.
You can load any reference set lightweight, which means that lightweight representations display for the members of the reference set that have lightweight representations. Set the Automatic Lightweight Generation customer default to specify the reference sets where the software automatically maintains lightweight representations.
It’s a Display State that you could define in a part/sub-assembly level. Then those Display States can be accessed and specified at their upper assembly level.
Reference sets are critical to working with NX assemblies of any size. Basically its a set of geometry you define and then set the display of the component/assy to display at the assembly level. Reference sets go way beyond just visual but can control attribute values as well. (think of things like material, part numbers, etc.)
As I mentione having a good reference set strategy is key to successfully working with assemblies.