All prefab instances in your scene are “empty” game objects that contain a reference to the prefab asset. All the data for the instances are saved in the prefab asset and not in the scene.
This means that the prefab instances in your scene directly show and use the data from the prefab asset. So if you edit the data in the prefab asset, then all instances automatically use those changes as well.
A nested prefab is a prefab that is placed inside another prefab. Such as a window prefab inside a house prefab. By nesting prefabs, you can create larger and more complex structures.
These nested prefabs are still connected to their original prefab asset. So they are automatically updated if you modify the original prefab, even though the nested prefab is saved within a different prefab.
The data for nested prefabs is stored in the same way as prefab instances. The nested prefab only stores a reference to the original prefab asset and does not store any data itself.
The prefab system in Unity 2018.3 has been overhauled to make it easier to nest prefabs. In previous versions of Unity you must download an additional package to nest prefabs.