I know you can use
command + ` to switch between windows in one program in one space.
But this is only in the one space, if you have other windows from the same App in different spaces ... it won't switch to that space.
There is a shortcut to do this, though it doesn't cycle between windows; it only allows you to choose one. But it will switch to it regardless of which space it's on. It's a convenient way to access App Exposé for any app.
Press Cmd+Tab to open the application switcher. Use Tab (or Shift+Tab or ~) to select the app you want, then keep holding Cmd. Then press 1 to see all of the selected app's windows. You can then select a window by typing its title, or with the arrow keys.
Re-tested and verified on macOS 11 Big Sur in 2022. This process includes open and minimized windows, but not full-screen windows. It also doesn't work when initialized from a full-screen window, which seems strange.
I don't know if there is a direct shortcut for that.
An alternative would be using the application windows exposé, which shows all of a particular application's windows (across all spaces). I think the default keyboard shortcut for this is F10, but you can change it in System Preferences > Mission Control.
(You can also set up a gesture for it if you're using a trackpad.)
Unfortunately, there's no system default to cycle windows - some apps have this built in, such as Terminal being able to command-N between different open windows (in the order to they were opened), yet Safari with no such behavior.
Apple seems to think that we'd all prefer the eye candy of Expose/Mission Control/etc rather than a standard shortcut system.
I am facing the same issue - I want to switch between windows of the same application (housed in different spaces) using something simple like a keyboard shortcut, rather than messing with the trackpad.
What is interesting is that Microsoft Excel for mac actually does this! You just use the normal shortcut and it'll switch between open windows of excel, regardless of what space their in.
Doesn't work with any other programs (including Word, etc) that I have noticed so far though.