At global level
gameInstance.storeobject is accessible accross different root gameObject.
At gameObject level
gameObjectInstance.storeobject is accessible for a particular gameObjectInstance. Each instance has a unique store.
gameObjectInstance.commonStoreobject is shared across all the instances of a gameObject. So all references to this gameObject will share this store.
At component level
componentHelper.storeobject is accessible for a particular component instance. Each instance has a unique store.
componentHelper.commonStoreobject is shared across all the instances of a component. So all references to this component will share this store.
commonStores for caching or instancing.