Evan commented that -reindex may be kinda quirky in v.12. Anyway, when you manually delete chainstate, blocks, etc, you don't need to run with -reindex. The argument forces the QT to download the blockchain from scratch. If you delete the blockchain, you're manually forcing a -reindex
.