Questions are pre-built snippets of HTML that you can use on your actions to store data in structured ways in your custom fields. (Questions can also tag activists, see here for more about tags.)
For example, you might collect contact preference from your activists on all of your action pages. You can make a question that displays a text box with a label that says "Contact Preference" and stores entries in the "contact_preference" custom field you're using for this data. Once you create the question you'll have able to drag it in to any action form without having to create it from scratch each time.
Generally, creating a question will create the corresponding custom field if it doesn't exist already.
Note: Activists may only have one value per custom field on their record. So if they enter data in a question again, it will overwrite any old data in that custom field.
Note: If the custom field you are using has validation and the data an activist enters does not match the validation expression a red error will appear and the action will not be allowed to submit until the error is fixed. You should be sure to explain what format you require using the placeholder or label in the question, so your activists know what to do when they see the red error.