You complete an Observable, and unsubscribe a Subscription. These are two different methods on two different objects. You subscribe to an observable which returns a Subscription object.
If you want to stop listening to emits from the Observable you call subscription.unsubscribe().
If you want an Observable to be done with his task, you call observable.complete(). (this only exists on Subject and those who extend Subject). The complete method in itself will also unsubscribe any possible subscriptions.
When an Observable issues an OnError or OnComplete notification to its observers, this ends the subscription. Observers do not need to issue an Unsubscribe notification to end subscriptions that are ended by the Observable in this way.