Command + ` does that.
> and to have a dock that shows all the windows easily, grouped per application.
Does Exposé not work for you? F3 by default, I think?
> I would also enjoy a maximize button that does maximize the window and not create a virtual space with the application in full-screen.
You might want to try opt-clicking the window maximise button. This maximise window size, in context of the content. May not always be full screen, but as big as the content needs.
Exposé is not the same no.
The option click algorithm that decide how big the window should be hasn't impressed me to say the least.
The way the default behaviour creates a new space makes me think that no one in Cupertino uses a second monitor because that behaviour simply does not work if you do.
Spectacle is now unsupported and Rectangle is a community fork.
Hold option while clicking maximize and the window will do what you want.
I had mixed results with the option key pressed while clicking maximize, some apps such as safari gets slightly bigger by a random amount that is probably a failed tentative to guess the optimal size.
This was the biggest thing that annoyed me when switching from Windows. I’ve been using SizeUp for 5 years now without any problem and it’s great, especially when using a 4K screen (quarter screen window tiles).
You can also use exposé, recently renamed to mission control to view all app windows.
It looks like the default key binding for application windows is Control-↑ and for all windows is Control-↓
edit: you can also bind these to mouse buttons in system preferences.
I would also enjoy a maximize button that does maximize the window and not create a virtual space with the application in full-screen.
I think people at Apple should probably use windows 10 for a few days on a dual screen setup, because MacOS is not very good compared to it. Thankfully it looks like a lot of people produce tools to make it better.