The "default" for most grading software is to average the score of all homework throughout the entire class. The result of this averaging is that people who actually learn the most might end up with a worse grade than people who learn the least. Why? Because people who struggle in the beginning, get their poor results put into their grade, even if they have complete mastery of the subject by the end of the class. This is clearly not ideal. A grade should be based on the level of mastery of the subject at the end of the course, and not at the beginning, when you haven't yet had the chance to learn the subject.
This, of course, could be changed by simply changing the default behavior of grading software. Most people use the defaults, so the software developer really does have quite a lot of influence.