<Command> + <Tab> cycles open applications, but
<Command> + <~> cycles windows in the current application context
I find this two-dimensional switching incredibly useful for multitasking, whereas Windows just flattens all windows to the alt-tab list, which quickly becomes overwhelming if you're a power user who doesn't like to close windows.
I have to believe you but this exact feature is possibly my biggest issue with Mac: breaking the stack.
In some of my workflows I jump back and forth between programs a lot. Example (not everything I do is this tedious : ) Alt + tab, tab, ctrl + shift + end, ctrl + c, alt + tab, ctrl + v.
When I was on Mac it felt like this would break down multiple times a day: CMD + tab, oh wait, another Window of the same App, that means CMD - tab to go back, then something I have forgotten, possibly CMD + | on my keyboard back then, then the same insanity next time.
Basically for someone like me who works quick but has lots of things to keep in mind this breaks down immediately.
I don't want to stop and think if this is another Window or another App, I just want to go back to that second last thing I worked on.
As I said, I have to believe you guys actually like it but for me this particular (mis- IMO)feature was one of the main reasons why I will ask nicely to get a Windows or Linuzx laptop instead of a Mac.
In return I ask that you believe me when I say that I haven't come across one of those jarring font issues that Mac people complain about in Linux. My touchpad is good enough, - I try to use my keyboard most of the time anyway etc etc.
Edit: I'm an idiot, and blind. It was 'n', not pi.