They serve the same function as a simple object pointer but are inherently more complex, since they must specify not only a memory address of an object but also a network address to reach that object from arbitrary remote hosts. However, they must still present the remote object to clients as though it were local to them. Hence, IORs have a considerable amount of self-descriptive information about the underlying object, albeit in a somewhat cryptic form. Finally, URLs and email addresses can go a level or two of abstraction further, providing relatively mnemonic names for documents or people. Naming in computer systems is somewhat more constrained than names in everyday usage.
Computers require very specific, formal specification of operation.
Software models require names that are unambiguous, simple, standardized, and easily resolveable. One particularly exciting thing about names is that they can potentially provide a single framework for referencing objects in the entire world. When you have a global namespace, large-scale distributed systems become much easier to build. Global namespaces tend to be used for coarse grained human information resources, such as web pages or people's email addresses. They can also be used in distributed object systems at a variety of scales.