this are some scenario when to use which binding
basicHttpBinding is best when you have traditional ASMX(Active Server Methods) web services and needs to be replace with WCF.
It supports text as well as MTOM encodings and it does not support WS-* standards like WS-Addressing, WS-Security and WS-ReliableMessaging.
basicHttpBinding uses HTTP or HTTPS protocols. You can configure SSL for Transport Layer security with basicHttpBinding for HTTPS.
This is secure and interoperable bindings uses SOAP over HTTP. With WsHttpBinding messages are encrypted by default and achieve message level security.
It supports reliability, transactions and security over internet. I
wsDualHttpBinding is best when you required bidirectional communication with client. In some scenario when client makes call to WCF service,
after processing of long running request service has to call client application for example updating shipment details to client application.
It supports reliability, transactions and security over internet.
webHttpBinding is best when you wish to implement RESTFul WCF service. This is secure and interoperable binding which sends information directly over HTTP or HTTPS without creating SOAP messages.
It allows HTTP request to use plain old XML (POX) style messaging which reduces the message size on wire compare to SOAP messages.
netTcpBinding is best when WCF service and its clients are in Intranet infrastructure.
As it supports only TCP protocol and not HTTP so service cannot be accessed over internet.
it is faster than other binding in Intranet environment.
When your WCF service and its clients reside on same computer netNamedPipeBinding is the best choice and gives best performance over other bindings.
This is secure bindings. Binary encoded SOAP messages are sent over named pipes.
See how to implement netNamedPipeBinding in WCF services.
netPeerTcpBinding is best when you require more security for peer to peer communication as netTcpBinding does not provide it.
It is secure binding and supports TCP protocols.