You are right both spaces are related to the camera's near clipping palne. The near clipping plane is basically your screen.
The difference between those two is the range of values.
The range in both directions [x, y] is equals to the render target's (screen) resolution [width, height]. Due the fact that the render resolution is variable, this space is not appropriate for e.g. GUI positioning. This is where the viewport space comes into play.
The range in both directions [x, y] is normalized to [0, 0] <-> [1, 1]. Each coordinate is basically a percentage value and therefore resolution-independent. Per example GUI elements should be positioned and dimensioned in this space.