Rationale
As a best practice, named credential should be used to specify callout endpoints and their required authentication. Using named credentials keeps your app significantly more maintainable, and removes the need for creating remote site settings, which are otherwise required for callouts to external sites.