In most modern computing environments, its just a pointer. If you're doing Win32 or similar, its just a keyword that means nothing.
In older environments, such as MS-DOS, as I recall, a far pointer specifies both the data segment and the offset, whereas a near pointer only stored the offset. In a sufficiently small program, everything was in the same segment and the additional overhead of storing the segment information as well was not necessary.