I think the spirit of this question refers to web apps as websites but it could be a service that is available over http. Here are some other reasons (if you consider any app over http a web app):
You may not use SSL because you want to interact with your web app via curl. Curl with ssl is doable but kind of a pain in the butt in my experience.
Another reason might be performance. Perhaps this service lives in a secure network and you'd rather avoid the SSL handshake latency.
An example of these cases would be running Elasticsearch in AWS which is queried by another service (your actual website) also running in AWS.