Oracle: diferença entre max (id) +1 e sequence.nextval

Estou usando o Oracle

Qual é a diferença quando criamosID usandomax(id)+1 e usandosequance.nexval, onde usar e quando?

Gostar:

insert into student (id,name) values (select max(id)+1 from student, 'abc');

e

insert into student (id,name) values (SQ_STUDENT.nextval, 'abc');

SQ_STUDENT.nextval às vezes dá erro que duplicar registro ...

por favor me ajude nessa duvida