Quais são as diferenças entre strtok e strsep em C

Alguém poderia me explicar que diferenças existem entrestrtok() estrsep()? Quais são as vantagens e desvantagens deles? E por que eu escolheria um sobre o outr