Geht das?
Ja
Oder warum wäre es sinnvoller, das in mehrere Kontexte aufzuteilen?
Nicht alle Bildschirme müssen an der selben Grafikkarte angeschlossen sein. Spätestens, wenn ein Fenster auf einem Bildschirm liegt, der nicht auf der Grafikkarte angeschlossen ist, auf der das Bild gerendert wird, wird das potentiell ineffizient (Unter XP wars iirc so extrem, dass eine mit 100+ fps laufende Anwendung zur Diashow wurde, sobald das Fenster auf einen anderen Bildschirm bewegt wurde, selbst wenn der Bildschirm auf der selben Grafikkarte angeschlossen war; Vista+ sollte das Problem nicht mehr haben). Und für den Fall, dass du mehrere Grafikkarten hast, willst du wohl potentiell von der Möglichkeit Gebrauch machen, auf mehreren Karten parallel zu rendern. Sowas wie ein exklusiver Fullscreen Modus ist mit der "ein großes Fenster Strategie" außerdem natürlich ein Ding der Unmöglichkeit.
Der Nachteil mit mehreren Kontexten ist natürlich, weil dann - zumindest in OpenGL - der interne Zustand komplett geändert werden müsste, wenn man die Kontexte wechselt. Das ist nicht gerade performant.
Meiner Erfahrung nach ist das eher kaum ein Problem, die einzelnen Kontexte vergessen ja nicht ständig alles und du könntest btw. auch parallel in mehreren Kontexten rendern...
Gut gemeinter Rat: Schau dir die Thematik zuerst mal unter Direct3D 11 an, dort ist das sauber und intuitiv gelöst. Allein der Gedanke, das wieder mal in OpenGL machen zu müssen, bereitet mir physischen Schmerz...