While there is often crossover between required fields and key fields, they are actually two separate things.
Required fields are fields that must be present for a record to be created or updated in the Raiser's Edge. These are either set by the Raiser's Edge or by your organisation (in the Config section of the Raiser's Edge). When one of these fields is not populated, you will see an exception message and you will not be able to import that record until the requirement is satisfied.
Key fields are fields that must be populated in order for a record to be created (which is similar to a required field), but the difference between them is that when a key field is left blank, the record will not be generated.
To help explain, here is a mapping for a phone number.
You can see that the 'Phone Type' is required and a key field, but the 'Phone Number' is a key field. To satisfy the template, we will need to map both of these fields. When they are mapped, the icons turn green. However, if a record in your data source does not contain a 'Phone Number' value, Importacular will not create a Phone mapping because that field is a key field.
For a full list of key fields, please see this knowledgebase article.
For more information regarding required fields, please see this knowledgebase article.