GameMode is more like a practical things we can manage.
Let take for example the game ReDeath End Quest, when you killed an enemy in the level map, you will need to spawn another enemy to re patrol that area but at x times.
Since we can call “get game mode” anywhere, we can manage our spawn of enemies in our game mode bp.
So when an enemy is killed, called = OnDeathEvent > GetGameMode > StartTimerSpawnEnemy. It very straight forward how we would handle the call and reference.
Otherwise we would have to figure out how to spawn a new enemy with overlap, box collision, event tick ? it possible but not very ideal.
Just keep in mind the concept of get game mode that can be called from anywhere, same for as get player character.
" The GameMode defines the game’s set of rules" the word rules is more related to multiplayer i guess since game mode is often reffered as Server events.
Note: switch level map will also switch your game mode in constrast with game instance that persist.