This is a philosophical question and has been going on for ages, and both camps (actually there are several camps now) have valid points. None are good. No matter the choice it will be a compromise.
I could have written a lot, but I will bring up a few points.
First, workflows are something you learn and adapt to. Having options should really only reflect obvious obstacles in various environments. More options do not ease learning curves. (Buzz term: Less is more)
Second, although switching environments are a clear obstacle, one has to consider those who already are used to the workflow in (for you) the new environment. Options to ease transitions, diversifies workflows.
Third, diversified workflows are harder to support, and complicates collaborative environments.
Fourth, don't underestimate psychological effects. Unexpected events do cause anxiety, a feeling of unpleasantness.
Fifth, don't underestimate sensory effects. Distractions and lags do create various psychological effects. And of course enough lagging slows down a workflow.
Sixth, responsiveness (not the funny web-developer variant, but rather not letting users swim in glue).
I bring this in this green-button discussion, because the correct answer would be the one who match closest to all these points.
Why do windows people want the maximize-button? The obvious answer would be to maximize the working canvas, however more often than not is that what is happening. If you look at webpages, not unusually you get more white space, but still maintain the same content. In word-processor, you might get more zoom-level, but not necessarily space for more content, sometimes even lesser because you will zoom in. In graphics app it works most like this. The real answer is you use maximize to get a cleaner workspace, to remove distractions. And that gives some kind of pleasant effect.
On OS X before, the intention was that you got larger canvas (although I also agree that the implementation was not very good, as it depended on the developers), but it did not remove the clutter from backgrounds, and other windows. I see many users who spend more energy moving around windows so that even the last two pixel wide lines are covered on a screen, or rant about that the software doesn't do it for them - even though it really had almost zero implications for their their work.
Apple have solved this to a certain degree with adding the fullscreen mode instead. And with todays mac, switching is fast, and even the transitions are fluent, and I can't really see how it hampers multitasking. I use Command-Tab, and gesture-swipe, to switch between windows and apps. And no, it doesn't turn your computer into an iPad. The weakness is of course if you need more apps on-screen, but that won't neither the maximize button in windows solve, the new splitcreen solve it very good if you need two windows. And for more you still have the usual windowserver workspace.
What I do miss from Windows is the option to automatically reorganize the windows to let all become visible (but that is another story). I also find it sometimes frustrating when I have several fullscreen-windows and they are not the next swipe away. And while using Safari using gestures when the intention was to switch to another screen sometimes it is registered not as a fullscreen swipe and you go forward or back in your browsing history.
Many people do want it working exactly on windows, just because it is making them feel more happy. Not because it have a practical purpose for the workflow. So should they have the option? Only one option can't hurt can it? No it cannot, but this not the only option people ask for. One of the reason why typically open-source projects fail is because everyone add in their "only one" option "that can't hurt". And you have suddenly pages and more pages of preferences. (Another reason they fail is that at the same time they fail to document them, and do not put any reasonable text so people understand what the option really do.) And adding more preferences, makes it more difficult to support and help users, options change behavior and may even be the reason for odd bugs.
So should the green button change or have optional behaviors? It is a key part of the interface, and must be used by users. It must also be consistent. The old way was confusing, the new way is so similar to a maximize window, so from a support perspective it might not matter. So if it was up to just adding one more options to the preferences I would probably not object. Now over to discuss the red and yellow button....