My impression has been that emacs is a poor window manager. Granted, I am not incredibly skilled with emacs but even after some weeks I was still confused by the way emacs opened up new windows or changed existing windows when you've clicked on something (for instance, in dired or org-mode's agenda) I ended up to open everything in a new frame and left the management of these frames to awesomewm.

I agree, some Emacs commands use windows unintuitively and destructively. Dired and various searching modes (grep, ack, ag) are major offenders. You should (1) mitigate the problem with winner-mode so you can easily recover your window configuration, and (2) learn enough Elisp to tweak the poorly-thought-out commands. It usually takes me no more than 15 minutes to figure out what function does the wrong thing and add a small snippet of code to my .emacs.d/init.el which either reimplements the behavior or uses Elisp's brilliant advice feature to isolate and override with better behavior.

More modern modes usually behave well. Magit, for example, uses windows correctly.

Here is an example of how I used advice to fix bad mouse behavior (yes, I use the mouse sometimes to switch windows): http://emacs.stackexchange.com/questions/7347/preventing-mou...

Thanks for the suggestion of `winner-mode`! Swapping between buffer arrangements based on task (coding vs shell work, etc) always felt weird.

I solve it with having a giant editor on one monitor on one screen and a large terminal w/ tabs on the other, but that doesn't work so well if I am accessing in a headless way (e.g. remote work).

I use persp-mode (https://github.com/nex3/perspective-el), it solves nearly all my problems managing different projects, shells, code buffers, note-taking, dired, and just about everything else. The only slight wart is term.el performance, making shell output a bit slow sometimes, but I can live with it.