Integer é uma classe, onde nela podemos colocar todos os números que um int suporta alem disso podemos definir como null, coisa que o int não podemos.
alem disso na classe Integer tem a implementação de algums métodos, com o parseInt(String) para fazer conversão de String para int.
Ex.: Quando vc tem uma classe entidade(Que representa um tabela do banco de dados), onde nesta tabela tem uma coluna int e permitindo valores null, neste caso se vc colocar o atributo na classe como int, nunca irá poder atribuir null a está variável, caso vc coloque Integer ai sim vc pode atribuir alem dos números o null.
Esse assunto é um pouco mais amplo que simplesmente aceitar null…
Aconselho a estudar Wrappers e aqui tem uma ótima explicação do ViniGodoy.
Dá uma pesquisada no fórum que tem muito material que pode te ajudar…
Espero ter ajudado…