In addition to the types of records in the question, in some areas you have marriage registrations. E.g. in Massachusetts, in some periods, a marriage can be registered in up to three different localities, depending on the circumstances. The marriage may be listed in:
- the groom's town of residence
- the bride's town of residence
- the town in which the marriage actually took place
If you take the a search result from someone who has indexed the "groom's book" or the "bride's book" at face value, you may be misled to think that the marriage itself took place in that locality. But if the images from the actual registers are available, you can see on the register what the location of the marriage was.
These are the civil records, of course. Many Massachusetts registers also list the name of the person who performed the marriage and their affiliation, which is a pointer to possible church records.
One way to search the Massachusetts vital records (1841-1910) is by using the search page at the Massachusetts State Vital Archives; other ways are at NEHGS and FamilySearch.
If you see different dates attributed to the same event, that may be a clue that one researcher has found the date of the banns, another the date of marriage event itself, and a third has used the date the marriage has been registered.
Since these and other registrations often reference a registration place which is different from the marriage event, I created a custom event in Family Historian to hold marriage registration search results. If I have no other information, I also create a marriage event with a note that it is an estimate based on an index. When I find better records, I replace the place keeper marriage event with the more precise information, but leave the registration event(s) in place so I have a record of which registrations I have found.
To answer the original questions:
What are the differences between these? How would I know which one is best to find and use? How would I know what is available? Is it based on region and time period?
I would say there is no case where one kind of record is best to find and use -- you can gain the most insight by learning the differences between them, collecting as many as you can find, and analyzing and correlating them (analyzing and correlating all your information as a group is one of the elements of the Genealogical Proof Standard).
Some resources to consider when analyzing evidence:
Yes, recordkeeping in general is based on location and time period. Very often the kind of records which are kept are a result of laws (either civil or ecclesiastical) which dictate what information should be recorded. To find out what may exist for a particular time and place (and which jurisdiction within each place), FamilySearch's Research Wiki is a good place to start. Try searching with the place name of interest plus the word "genealogy" to find the main article; some areas also have specific articles titles "How to find [placename] marriage records".
Marriage records can be kept both by churches and by civil authorities -- they are part of the group of records called BMDs (in the UK), BDMs in some other places, and Vital Records in the United States.