Have you ever tried to get CustomBindings equivalent to a StandardBinding or vice versa. Well recently I was asked why a customBinding  like

<customBinding>
  <
binding name="Custom">
    <
textMessageEncoding />
      <
security authenticationMode="UserNameOverTransport">
         <
secureConversationBootstrap />
      </
security>
    <
httpsTransport />
  </
binding>
</
customBinding>

was not similar to a wsHttpBinding like the following

<wsHttpBinding>
  <
binding name="WS">
   
<security mode="TransportWithMessageCredential" />
  </
binding>
</
wsHttpBinding>

They do look similar but there are subtle aspects which which probably make them really different. I am not going to call out every difference here and will leave it to you to spot them. The major point here is that this choice can either make or break your app primarily since I work on perf here and choosing the second would be quite a blow to perf if you really don't want the bells and whistles that wsHttpBinding provides, sometimes 4 to 5 times.