What is the difference between the options `-reindex` and `-reindex-chainstate`?

Is one of the options faster?

When should each option be used?