Although namespaces are not available for use in Apex code, they are used by the system to segregate components which are part of managed packages.

Managed packages have their own name spaces to prevent conflicts with objects/classes/pages etc. from other packages which may be installed in an org.

The tag is here because the use of namespaces can cause confusion when dealing with objects in code, and so this is a good way to highlight questions where those problems arise.