Boa noite Davi, tudo bem?
Um construtor é chamado logo após a criação do seu objeto, então no seu exemplo você tem um construtor com dois parametros, como você não tem outro construtor toda vez que você instanciar a classe Pessoa você terá que passar como argumento esses dois parametros obrigatoriamente. Exemplo:
Pessoa pessoa = new Pessoa("Davi", 22);
Se você tivesse setters ao invés de construtor você faria assim:
Pessoa pessoa = new Pessoa();
pessoa.setNome("Davi");
pessoa.setIdade(22);
Agora vamos ver as vantagens e desvantagens dessas abordagens.
Caso você use o construtor você obriga que quem for instanciar a classe Pessoa passe como parâmetro essas duas informações (nome e idade) o que em várias situações é algo legal, pois se pararmos para pensar não existe uma pessoa sem nome ou sem idade certo? Então é legal não permitirmos que alguém instancie nossa classe sem passar esses parâmetros. Uma desvantagem é que só é possível setar essas informações uma vez, dado que o objeto só passa uma vez pelo construtor (quando ele é criado), o uso de apenas construtores é bastante usado para quando você quer criar objetos imutáveis.
No caso de você preferir usar o setter, você ganha como vantagem poder setar varias vezes os valores dos atributos do seu objeto, pode mudar o nome de Davi para João, Marcos e assim vai, mas você não consegue garantir que uma objeto Pessoa seja criado com nome e com idade por exemplo, usando apenas o setter nada impede de alguém chegar e fazer só isso
Pessoa pessoa = new Pessoa();
Ou você pode usar ambos, ter na mesma classe setters e construtores, para que você ganhe as vantagens dos construtores e ganhe as vantagens dos setters, se isso fizer sentido para sua lógica claro.
Espero ter te ajudado, bons estudos!