Olá Gabriel, tudo bem?
Vou tentar te explicar da forma mais clara possível sobre este exemplo da função instrutores_bem_pagos.
Como foi mencionado pelo instrutor, existem dois tipos de retorno, o simples e o composto:
Quando o retorno da função é simples, ele é utilizado como um campo.
Quando o retorno da função é composto, ele é utilizado como uma tabela.
Neste caso do exemplo da função instrutores_bem_pagos, o retorno da função é composta. Como o instrutor explicou, o retorno vai sempre ser o primeiro item do ultimo comando SQL, ou seja, apenas uma linha com os registros será retornada pela função.
O instrutor precisa que seja retornado todos os instrutores, ou seja, todos as informações dos instrutores que estão armazenados na tabela, que tenham um salário maior que um número X, porém retornando apenas uma linha, esse resultado não seria possível.
Então o instrutor utiliza a função SETOF, com essa função é possível retornar todas as linhas do resultado consulta, ou seja, todos os intrutores que tenham um salário maior que o número passado para a função.
Então caso você esteja precisando de uma função, onde seja necessário retorna várias linhas em vez de apenas uma, você pode utilizar o comando SETOF.
Espero ter ajudado, qualquer dúvida é só falar e bons estudos!