Имеющихся в RxJS "встроенных" операторов практически всегда будет достаточно, за исключением редких и весьма специфических случаев. Вот тогда вам и придется создавать свой собственный оператор.
Разберем пример создания оператора, который принимает n-ое значение от объекта Observable и завершает его выполнение.