The custom headers feature is used when a WordPress developer wants to enable the ability to customize the headers at the top of each page. This, in turn, allows the developers to swap out the default image in the website header with one of their own choosing.
Depending on the theme being used for the website, headers may be limited in size. Some of them are so limited that there is essentially only enough room to place a logo at the top; others allow users to add or remove images that span the entire width of the page. Still others allow flexible headers: headers that have the ability to expand and contract with the width of the browser window.
To change a header, navigate to appearance > customize from the left menu bar displayed in the WordPress Admin Panel. From there, you have the option to upload a custom header, change the existing header, and experiment with different methods of displaying text and photos in the header, depending on the specific theme used by the site.
There, are, or course, more options available in certain themes than in others. As such, WordPress developers may want to consider the customizability of certain themes when choosing which ones to use in a website.