Rex, that makes a lot of sense to me, thank you! I'll share that table with the C2 Multiplayer discussion group, I think people will appreciate it.
I'm guessing my game will be a mix of the 'action' and 'MMO' types you describe. It's an action game (gameplay similar to Zelda or Mario) in a persistent world, but every screen of the world is a different C2 layout and the game world itself will not be centrally hosted (you're basically singleplayer until you move into a section of the world at the same time as other people, at which point it will be peer-to-peer hosting via the official multiplayer plugin) with the clients pinging a central database for both global variables (who controls Castle A, what time of day is it) and each player's specific data (what's in your inventory, do NPCs like or dislike you).
Just like CrazyVulcan is discussing for his project, those 'calls' should be fairly simple, I think... the main thing I worry about is making sure changes are synchronized properly and not missed or handled out of order.
For these tasks, how should I choose between AppwarpS2, Photon, and Firebase? Is there a strong advantage to one over the other? Are they equally easy to integrate into C2?