nextInt() = números inteiros
next() ou nextLine = String (Palavras)
Exemplo: Se você pedir pro cara digitar a idade dele você vai ter que usar o método nextInt() porque sabe que idade é um número inteiro.
Se você pedi pro cara digitar o nome dele você não vai poder usar nextInt() porque esse método espera receber um número inteiro então você teria que usar ou o método next() ou o nextLine() porque ambos esperam receber uma String, ou seja, palavras.
Se você pedir pro cara digitar o nome dele e tentar ler o nome com nexInt() você verá uma menssagem de erro indicando que o código esperava receber uma String mas acabou recebendo um inteiro que não é compátivel com o tipo.
Há uma certa diferença entre os métodos next() e nextLine(). Recomendo que de uma olhada neste tópico onde foi explicado essa diferença entre eles: http://www.guj.com.br/posts/list/137315.java
API Java no link caso queira dar uma fuçada: http://java.sun.com/javase/6/docs/api/index.html
Abraço.