Components, the most basic type of design object, contain internal dependencies which establish the relationship between inputs and outputs. Components are unique in this ability to describe the dependencies directly. Assemblies, on the other hand, obtain their dependencies automatically, while I/O flags and Connectors have no input-to-output dependencies.
When to Use Components
Components should be used for non-hierarchical, non-connector components that can fail (such as chips, valves, etc.). Note that linking a component hierarchically is done as part of converting the component to an assembly.