The 3 kinds of families in Revit are: system families, loadable families, and in-place families.
Most elements that you create in your projects are system families or loadable families. Loadable families can be combined to create nested and shared families. Non-standard or custom elements are created using in-place families.
System families create basic elements that you would assemble on a construction site.
Examples:
System settings, which affect the project environment and include types for levels, grids, drawing sheets, and viewports, are also system families.
System families are predefined in Revit. You do not load them into your projects from external files, nor do you save them in locations external to the project.
Loadable families are families used to create the following:
Because of their highly customizable nature, loadable families are the families that you most commonly create and modify in Revit. Unlike system families, loadable families are created in external RFA files and imported, or loaded, in your projects. For loadable families that contain many types, you can create and use type catalogs, which allow you to load only the types that you need for a project.
In-place elements are unique elements that you create when you need to create a unique component that is specific to the current project. You can create in-place geometry so that it references other project geometry, resizing or adjusting accordingly if the referenced geometry changes. When you create an in-place element, Revit creates a family for the in-place element, which contains a single family type.
Creating an in-place element involves many of the same Family Editor tools as creating a loadable family.