- You need software/dependendencies/licences you don't have in your local machine.
- You need to edit a config file (/etc/hosts or whatever) in your server
- You are in a Windows computer (that's not yours) and you need to make a quick change in your Ubuntu development server.
- You need to edit some files when deploying (databases are no longer in localhost, /home/myname/ is /home/servername/, etc.)
- You launched a large script in your server and need to (view or parse logs | edit the code and re-launch it | check why it didn't work)
- etc.
Even the sequential performance of the remote systems is much higher than my laptop. The system in front of me is a means to interface with the real system, and has been for a long time. Granted, I have worked on parallel and distributed languages and runtimes for most of my professional life.
1) The developers in this company that work with ColdFusion develop their software on a dev server because they would otherwise require expensive licenses for each dev machine. This means that devs often find themselves editting the same file. It also means that one dev can break the software for all other devs. Last but not least, it makes version control a ton harder.
2) Another scenario is where you fix a bug on the production server to roll out a fix as soon as possible. Sometimes this is acceptable, but there's a big risk because you no longer have the ability to test the code first. This also makes version control harder, because the next time you deploy your code, the changes will get overwritten.
3) Working with a remote IDE or just having your own development server: doesn't really make any sense, most devices (laptops, PCs, tablets) can run some kind of IDE/editor locally and allow you to run the code locally. Using remote software only adds a huge dependency on having a working internet/network connection.
But I understand your point of view. :)
Regarding the license issue, I believe Adobe have a developer edition that's free to install but is limited to a single ip accessing it. That may have changed now - I've used an open source alternative called Railo for years that away better in almost every way.
My setup day to day is a local vagrant machine I ssh into and do everything from there (vim). Some of my work requires far more powerful machines so I also have machines running at AWS that I use in exactly the same way with exactly the same config.
I just got sick to death of trying to install / configure stuff on OS X where nothing works quite as it should.