This would mean things (compile, run, debug, etc) would be done on the local machine, not on the remote one. Not to mention the network lag if a huge codebase.
RE: building, compiling without login etc - I have a bunch of aliases that let me do that remotely with ssh. You're still "logging in" but don't need to deal with anything major.