> why web developers should always use POST instead of GET for things like this.
Now there's something I'd like to see more explanation of.
Assuming you understand the terms GET and POST in this context, it should be obvious why you don't want to modify data in response to a GET request. It's too easy to trigger actions accidentally, some of which may be destructive.
Using POST for anything that can change state is a basic rule of web development. Imagine a web application that allows you to delete information (say, from a photo gallery or inventory or something) with a GET link rather than a POST form button. Now imagine a link prefetcher or spider going over that site, deleting all your information as it cheerfully follows every link it finds. Not a situation you want to find yourself in, or put your users in.
If this voting mechanism was built to expect votes via POST rather than GET, casting votes by simply loading a URL wouldn't be possible.