Observable - наблюдаемый объект. Наблюдаемый.
Его потребитель всегда может знать когда произошли изменения, запустить обновление вьюшки, плюс выстроить свои потоковые цепочки из операторов.
А если ты просто что-то в сервисе там изменил, ангуляр скорее всего об этом не узнает. То что у тебя работает, значит что где-то в это время сработала проверка изменений (скорее всего глобальная), т.е. просто повезло.