GreenShot is now available for MacOS; I use it on Windows, and it does just about everything I need. By default, you get the following choices:
"Capture full screen" by default captures the single monitor that the mouse pointer is on; there's an INI hack for it that will make it capture the entire multi-head extended desktop instead (or you can use the region capture instead).
"Capture window" captures the currently-active window, regardless of which screen it's on, or even if it goes across the junction between screens.
"Capture Region" lets you select an arbitrary rectangular region from your (possibly multi-headed) desktop.
"Capture Last Region" lets you capture the most recently defined region from a "Capture Region".