Was dazu kommt ist, das Namespaces eine Hierarchie darstellen. So kann man seine Klassen in den Namespaces einfach einsortieren und findet sie somit schnell wieder.
Beispiel-Namespaces bei mir:
gwp.framework.database, gwp.framework.security, gwp.webshop.session
Wie man sieht fangen alle Namespaces bei mir mit dem Kürzel für meine Firma an, dann kommt der Bereich zu dem die Klassen gehören (das zurgunde liegende Framwork oder eben ein spezifisches Projekt) und dann der Teil des Projektes, in dem die dort liegenden Klassen arbeiten.
Will ich jetzt per
WMI Daten auslesen und zur Auswertung wo ablegen dann suche ich meine Klassen aus gwp.framework.wmi und gwp.framework.database zusammen.
Jeder Namespace landet bei mir übrigens zudem noch in einer eigenen Assembly, so dass ich Teile die verändert werden ganz einfach nur per einer .dll austauschen kann ohne das es den Rest der Anwendungen betrifft.