Reference maps are used to find what we call backlinks, or pointers from a specific object back to the object that includes a reference to it. In the GUI, these ‘References’, are shown in the various ‘References’ Gramplets for the views.
The Secondary indexes re-does the secondary tables in the db. These include things like gender stats (name versus gender) to allow guessing the gender of names as they are entered, surnames (for faster lookup of possible surname and to make the person tree view work), the various IDs for objects (to facilitate lookup by ID), place enclosure tables, to make the place tree view work, and a few others that I don’t recall right now.
In theory, these tables are kept constantly up to date when anything changes, so updating these maps and indexes is not necessary. But especially early on in the Gramps history, bugs sometimes kept these from getting updated correctly. The tools remain, ‘just in case’.
As an aside, ‘Family Tree repair/Check and repair database’ also makes these rebuilds, so it is really only necessary to run that tool.