I agree that remote code editing is not strictly necessary since you can perform such task with sshfs or git push/pull workflows.
On the other hand, having the remote environment in your local IDE quickens the development and you don't have to setup a full replica of your environment locally.
edit: ML/DL here stands for Machine Learning/Deep Learning
Also doing any Git action (git commit or so) over SSHFS is way too slow because it needs to go through the whole project directory. Maybe it's fine if the repo and project is smaller. But in this case, a Git commit can easily take a minute (while locally it takes a few milliseconds).
A Git push/pull workflow would also be quite annoying when you are prototyping and just want to try out things.
Since it needs to do an incremental build to provide any of the intelligent tools for Rust, it means editing directly on the Surface Go degrades to a text editor experience, while doing the remote editing lets the IDE-like features work.
I wrote a bit more about my setup here: https://mtlynch.io/building-a-vm-homelab/
I want to work on code which runs there in the cluster.
I could have a local Git checkout of the code (partly). But sometimes it's a lot of trial and error, and it would be quite annoying to keep extra care that my local Git checkout gets synchronized with the copy in the cluster. Sometimes it might also have other files as dependencies which are simply only there in the cluster - or it would be extremely complicated to replicated all the same locally, and keep it all in sync. Even if PyCharm could help on the syncing part, it would still not be perfect, and would be annoying.
VS Code Remote SSH is basically perfect and exactly like I want it. The only problem is that I still prefer PyCharm.
But serious question though: what workflow do you have that remote code editing is necessary?