You can set up your web server to serve different applications on different domains if you're working on multiple projects at the same time and don't want to put them on different ports or use subdirectories.
Another use case I can see is for testing subdomain-based web apps where you give each customer a subdomain (really just a wildcard dns record), e.g. acme.myapp.com
For local testing you can simply use the whole 127.0.0.0/8 subnet. If your webserver's listening socket is bound to the any-local address (0.0.0.0) then you can setup 127.0.0.1, .2, ... , 127.255.255.254 as vhosts.
Why not just customizing /etc/hosts then... You guys are relying too much on 3rd party tools without knowing what they do with your data and what they're becoming in the future.
It's a DNS server. The only data they can get from you is what you're calling the subdomains on your apps.
Yes, you could achieve the same functionality by editing /etc/hosts, but that's a pain in the arse if you're rapidly switching between a set of different sites, or if you want to access a coworker's machine in the same way.
You guys are complaining too much about useful hacker-friendly tools from well-known companies.
Editing /etc/hosts also requires root access, which becomes an issue if you're running tests on a shared server that's locked down, rather than just on your PC.
In most cases, customizing /etc/hosts would require every person working on a project to customize their /etc/hosts the same way. It becomes a burden when somebody wants to add or change an entry. They would need to email everybody who works on the project to tell them all to make the same change.
Using this service doesn't touch our "data" in any way whatsoever. It's a DNS service; it's not like I need to give them access to my Postgres database and Google Analytics password.
Testing web page with custom subdomain in a mobile devices, passing a test URL to co-workers, etc. I did this a lot, even though I have my own DNS server setup for this purpose in my own LAN, I could see myself using this if I don't already have the DNS set up.
If you're developing an app that relies on wildcard subdomain matching - all the organization-oriented apps that give you a your-team-name.example.com URI, for instance - fiddling with /etc/hosts is going to become a chore.
Another use case I can see is for testing subdomain-based web apps where you give each customer a subdomain (really just a wildcard dns record), e.g. acme.myapp.com