I suggest you were probably having a temporary network issue. The interface shows you the results of your vote instantly, then in the background notifies the server of your action and receives a verification. It is the server that may choose to reject the action (possible reasons include you have previously voted on the post, the post is your own, you have exceed your daily vote limit, etc). Until the browser hears back from the server, it will assume the action worked.
Usually this takes a handful of milliseconds, so you receive an error shortly after hitting the button, but if something is wrong with your network or the server was hung up and couldn't get back to you quickly, the interface will continue to allow you to hit the vote button and happily assume it worked until it hears back otherwise.
Returning to the page and refreshing will ask the server what the current status is, allowing you to confirm what actually got saved vs what you might have been displaying.