Пространство имен - это домен, в котором данное имя остается уникальным. Например, вы можете определить много классов с именем Widget, но все они должны появляться в отдельных доменах, чтобы их можно было однозначно идентифицировать друг с другом.
Домен, в котором появляется имя, зависит от контекста, в котором оно определено. Например, в мире .NET имя класса должно быть уникальным в пространстве имен, которое само должно быть уникальным в сборке, поэтому можно сказать, что домен, в котором имя класса уникально, является пространством имен и доменом пространства имен это сборка