It's much easier to inspect at multiple points, and I know what to expect coming down the pipe.
There are multiple threat models, and having different options helps in different situations.
It's also not realistic for me to try to figure out what's going on inside an SSL or TLS library.
I'm OK with TLS being the default, but I believe in always providing a plaintext option.
TLS also introduces compatibility and accessibility issues. With regards to GPC specifically, requiring TLS cuts off access for a huge population of about 20 years' worth of older devices which work fine otherwise.
There are many, many situations where plaintext ability has allowed me to access my own resource where requiring TLS would have caused it to fail, and I'm certain there are many more which I cannot even anticipate ahead of time.