I am new to Angular and I am trying to figure out what the best / correct technics are to share data between components with no direct parent / child relationship.

There is already a lot of questions around this topic but they all point towards Observables / rxjs / subjects, etc.

However, in my test app I simply created a service that holds a value and 2 components. In component A, you can update the value defined in the service. Component B reads this value and hence gets the updated value. It works fine as the 2 components get the right value.

There is certainly something I did not grasp yet around the benefits of using those Observables.

Appreciate any insight on this.