While writing [an answer](https://serverfault.com/a/618494/70024) to [this question](https://serverfault.com/questions/618423/ec2-mysql-security) on Server Fault, a thought that has been bouncing around my head for quite some time resurfaced again as a question:

Is there ever a good reason to _not_ use TLS/SSL?

To further elucidate the question, I'm asking about the specific case in which things have been configured properly:

 1. Performance:
   * [Time to First Byte](https://www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/) has been optimized.
   * The cipher list is small enough to avoid multiple roundtrips from server to client.
   * For mobile web applications, 2048 bit RSA server keys have been used as opposed  to 4096 bit keys to lessen the computational load on clients.
   * SSL sessions have a reasonable lifetime to avoid regeneration of session keys.
 1. Security:
   * [Perfect Forward Secrecy](https://en.wikipedia.org/wiki/Forward_secrecy)
   * [Hardened Cipher List](https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/)
   * Don't use obsolete and insecure protocols like SSLv2 and SSLv3 (if possible; not using SSLv3 means that IE 6 can't access your site).

If done properly, is there ever a good reason to *not* use TLS/SSL for TCP communications?