If you used Emacs, you could run a locally installed Emacs on your Windows, and do file editing, file&directory management (dired), version control, compilation, and also some other random work in the shell (M-xshell or M-xeshell), and probably some more things via TRAMP in your local Emacs. (Some easily findable demo videos that perhaps can make a person not so scared of the unknown Emacs, and TRAMP, etc.: 1, 2.)
That’s an illustration that remote X programs might not be the right solution for you. In contrast to the remote X clients way, the TRAMP way involves no heavyweight “graphical” traffic over the remote connection, it uses the ssh connection only to send directory listings, files, and command output back and forth.
Say, if you want to work with “Windows Explorer”, then there still won’t be a “Windows Explorer” on the Ubuntu server, so you can’t run it remotely.
But if “Windows Explorer” had something like TRAMP as a feature (for remote accesses via SSH), you could continue to happily use your local “Windows Explorer”, if that’s all what you need.