There is no inherent relation between any request and previous requests. A secondary benefit is that a page on one machine can link directly to a page on a completely different machine, without any need for the user to log in or otherwise establish a session. Without state, the server can't tell one client from another. This drawback is significant enough that various work-arounds have been constructed. Such work-arounds have weaknesses, though.
Basic authentication is relatively easy to spoof.
The first time the client visits a site that serves cookies, the server sends it the cookie, along with information about which URLs the cookie is valid for. This is, of course, a simplification. In the case of JavaScript, for example, all the activity occurs on the client machine, with the script acting as a proxy of sorts for the server. Basically, though, the cookie remains nothing more than information that allows the client and server to establish a session. There are several flavors of cookies floating around.