Many upvotes aren't organic votes but instead are duplicate submissions which each count as an upvote for the first submitter.
OT hijack: This can lead to news from popular sources being submitted because they are known to generate lots of votes. This leads to lots of people trying to be first to submit which leads to them getting lots of "upvotes", which further contributes to that source being known for upvotes. This leads to certain sources now always appearing regardless of the merit of the actual articles.
Interesting side effect action there. I wonder if re-submit votes should be damped in some way. One might use the length of time of the submitting account (avoid spammers who create an account and submit the same day, or create several accounts in one day and all submit the same article (although that one is caught by the software))
Part of the problem though isn't that it's artificial accounts generating deliberate spam or shilling, it's disparate uncoordinated users each doing what they think will boost their karma.
If I know that every codinghorror post gets to front page, I know that if I spot a new coding horror post I should submit to HN to get the karma. In an effort to be first I shouldn't check if it's previously been submitted, I should just submit.
Therefore I will submit. If it turns out I'm not the first I'm just upvoting the article, if it turns out I am first I "win" a lot of karma.
There's no way to differentiate between a genuinely interesting coding horror post that is getting submissions from people because it's a good post (of which there are many) and between a coding horror post that is getting submissions because people expect them to get submissions.
After a while, even low quality sites that are known to have people who post them for this effect can get trapped into this cycle.
This isn't an effect of spammers, it's an effect of a community who know how each other behave.
If you can't differentiate between this and more "genuine" activity then you cannot dis-incentivise the activity you wish to prevent.
Because it existed for 42 minutes prior to my comment, and in the few minutes since my comment (after hitting the #1 spot on the front page) there have been 9 new comments.
It's not a typical usage pattern for HN, even on non-controversial topics.