Давайте вместе посмотрим, какие варианты событий у нас могут быть
Не отписываемся: предположение верное -> ничего не теряем.
Не отписываемся: предположение неверное -> получим негативный эффект.
Отписываемся: предположение верное -> ничего не теряем.
Отписываемся: предположение неверное -> ничего не теряем.
Если не отписываться, то возможна ситуация, когда мы можем забыть про какой-то нюанс или вовсе про него не знать, и получить неправильно работающее приложение (этакий на авось). Если говорить про тот же HttpClient, то в правильно спроектированном приложении мы никогда не вызовем напрямую .subscribe(), так как это будет делаться на других слоях.
Если отписываться, то мы всегда остаемся в выигрышной ситуации и получаем безопасный код, который работает по простому контракту: подписались и отписались.
Вот тут я уже писал об этом. Советую перечитать еще раз, чтобы не ходить по кругу.