What exactly did `Bitcoin-Qt -rescan -reindex` do? I spent a ton of time today trying to get Bitcoin-Qt to sync using the bootstrap.dat file and could not get it to work.  I found an answer on this forum saying to use:
/Applications/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt -rescan -reindex

Which seems to have worked perfectly.  Now I'm just wondering what exactly that command did to fix the problem?
-rescan likely did nothing at all. It goes through the blockchain to find transactions that are missing from your wallet. It is only very rarely needed (like when you manually changed things in wallet.dat).

-reindex throws away the block chain index and chain state (the database of all unspent transaction outputs), and rebuilds those from scratch. It is exactly like downloading the block chain again from peers, except the blocks already on disk are used.