wsHttpBinding implements WS-Security stack. This stack add security on your message, but have slow performances.
You can use a TLS channel with a client and a server certificate. You will have the same level of security as WS-Security (Authentication, Authorization, Confienditiality, and non repudiation).
I generally use customBindings, instead of basicHttpBinding or wsHttpBinding. Is is more configurable. You can convert bascHttpBinding to custom bindings with this tool : http://webservices20.cloudapp.net/.
basicHttpBinding is like a customBinding, but with predifined values, like SOAP11 for the message version.