How to prevent Mac from changing the order of Desktops/Spaces
You may have encountered a situation in which Mac changes the order of desktops based on some events like alerts on a program or a web page in browser.
How could I disable this logical change?
Note: I'm using El Capitan, but I had this problem since Mavericks.
System Preferences > Mission Control
Uncheck Automatically rearrange Spaces based on most recent use.
This will fix the order of all your regular Spaces - but not Fullscreen spaces, which always go to the right of existing numbered Spaces.
From comments: Note this cannot fix the Mac confusing which external screen is which. That's not user-controlled at all, & seems to occur mainly [though not always] when the external screens are identical.
Late note:
This echoes the behaviour of Cmd/Tab or equivalent in most operating systems, so could be considered a 'sensible' default.
just to save this attracting even more comments on why it was a good/bad choice of default.