Currently, if the server section of the settings.xml uses wagonProvider to set a provider suffix, that provider may apply to multiple different repository definitions.
If the user specifies a repository with protocol == http and provider == httpclient for artifact resolution using a server id of 'foo', then configure a distribution repository with protocol == scp, the provider == httpclient will be applied to this distribution repo, and result in an error like this:
Obviously, this will never work. In these cases, ideally different server IDs should be used. However, if not then Maven should fallback gracefully to a roleHint of 'scp'.