For example, you cannot place a ceiling-hosted family on a linked ceiling or a wall-hosted family in a wall. The ceiling or wall needs to actually exist in the "host" model for you to be able to host a Light Fixture on it. This is how element hosting works in Revit.
The solution here is to use a Face-hosted Light Fixture family. Revit can detect the face of a ceiling through a link and therefore the Lighting Fixture can be hosted on that face.
Second, element-hosted families will be deleted if the linked element host is deleted. This is not true for Face-Hosted families. Face-Hosted families will be unhosted if their host face is deleted. which makes them sit in 3D space where they were originally. You can then re-host them to another face if you'd like.
So if you are creating your own MEP families, use a Face-hosted template so that your content can be placed in a linked file.
The wall-based template is for components inserted into walls. Wall components can include openings, such that when you place the component on a wall, it also cuts an opening in the wall. Some examples of wall-based components include doors, windows, and lighting fixtures. Each template includes a wall; the wall is necessary for showing how the component fits in a wall.
The ceiling-based template is for components inserted into ceilings. Ceiling components can include openings, so that when you place the component on a ceiling, it also cuts an opening in the ceiling. Examples of ceiling-based families include sprinklers and recessed lighting fixtures.
The floor-based template is for components inserted into floors. Floor components can include openings, so that when you place the component on a floor, it also cuts an opening in the floor. An example of a floor-based family is a heating register.
The roof-based template is for components inserted into roofs. Roof components can include openings, so that when you place the component on a roof, it also cuts an opening in the roof. Examples of roof-based families include soffits and fans.
The standalone template is for components that are not host-dependent. A standalone component can appear anywhere in a model and can be dimensioned to other standalone or host-based components. Examples of standalone families include columns, furniture, and appliances.
The line-based template is for creating detail and model families that use 2-pick placement similar to structural beams. For information about detail families with 2-pick placement.
The face-based template is for creating work plane-based families that can modify their hosts. Families created from the template can make complex cuts in hosts. Instances of these families can be placed on any surface, regardless of its orientation.