Ah, das bedeutet, dass die Klasse "RenderWindow" auch in anderen Headern implementiert sein kann und dann unklar ist, welche der gleichnamigen Klassen nun aufgerufen werden soll. Daher der Namensraum.
Genau. Im Fall vom RenderWindow ist das vielleicht erst mal nicht so offensichtlich aber möglicherweise hast du ein FGrafikfamework welches eine Klasse vector für Positionen in der Spielwelt hat. Jetzt gibt es zusätzlich std::vector was hier störend sein kann. Hinzu kommt deine Physikengine die unter Umständen auch eine Klasse mit dem Namen vector hat. Die alle können sich in die Quere kommen und das ist schlecht. Der Fall ist vielleicht offensichtlich, jetzt kann es aber auch passieren dass du tatsächlich eine weitere Klasse mit dem Namen RenderWindow hast. Vielleicht nutzt du zwei unterschiedliche Bibliotheken die beide so eine Klasse besitzen. Das ist wieder Mist, also schiebt man den ganzen Kram in einen Namensraum. Bei vielen C++ Projekten ist es so dass es einen Namensraum für das gesamte Projekt gibt. Manche Projekte gehen etwas weiter und unterteilen in mehr Namensräume. SFML 1 ist da so ein Beispiel für. Es gibt den übergeordneten Namensraum
sf, welcher wiederum in mehrere unterschiedliche Namensräume unterteilt ist. Bei SFML 2 ist man mehr zu nested classes übergegangen. Was das ist kann dir Google verraten.
Halten wir einfach fest, du hast verstanden was Namespaces sind und kannst sie benutzen. Viel mehr ist für den Anfang erst mal nicht wichtig.