Custom headers is a WordPress theme feature which allows theme developers to enable support for customization of the header image. When custom headers support is enabled in a theme, the users can replace the default image used in the theme’s header with their own images.
Most themes have limitations as to what the size of the header image can be. Some themes are made so that there is only enough space to put a logo, others allow you to use the entire width of the theme.
Some themes will allow for the use of flexible headers that can expand or contract in size depending on the width of the browser window at the time. Some themes will also allow for the use of pre-uploaded header images that are already present in the theme, such as the ones available in the default WordPress theme.
The option to change the headers is usually present under Appearance » Customize, which is located in the left menu bar in the WordPress Admin Panel.
The Header link will allow you to change the header as needed or upload your own custom header. The images can also be cropped as needed to fit the header. Some themes also allow for you to replace the headers with your text instead of an image, or use an image as background and overlay text on top, but these are features depend on the specific theme.
Please see the additional reading to learn how to add custom headers to your own themes, and learn how to enable this option.