My understanding is that there are two factors which determine how much an upvote is worth:
- Steem Power of the voter
- Frequency with which the voter has recently voted
The first is to prevent spam by creating hundreds of shills and having them all upvote your posts (sybil attack). The second is to prevent spam by purchasing a large stake, powering up, and flooding the network with posts which you upvote with your large Steem Power.