Because HTTP is stateless, there's no definite way to know that two hits are coming from exactly the same person (or even the same browser).
As you seem to know quite well, there are standard ways to add session functionalities to http. The client can of course perform a clean request at each time, by cleaning cookies and filtering out session parameters, but the same is true of stateful protocols. It is equally difficult to stop an attacker from performing repeated ftp/ssh/telnet login attempts., so I'd say that the statelessness of http is not the issue here.
The stupider the astronaut, the easier it is to win the trip to Vega - A. Tucket