It is designed to prevent repetitive voting.
If the user is authenticated then we create the rating with the userGuid, if he votes again we just update his existing vote.
If the user is not authenticated we detect whether there has been a rating for the same content from the same ip address within the last 5 minutes. We only allow 1 vote every 5 minutes form the same ip address if the request is not authenticated as a user. The 5 minutes can be adjusted by adding this to user.config and changing the value:
<add key="MinutesBetweenAnonymousRatings" value="5" />
without this, web bots would/could post over and over making the results not very useful.
I will experiment with it and see if I find any issues but thought I should clarify what it is supposed to be doing.