Someone who's consistently working extra spoils the situation for the rest of the team. They'll eventually end up having the most knowledge and experience since they're working with the code more and they'll almost certainly be the most productive person on the team. When it's time for reviews, raises, and promotions who do you think a naive manager will flag as the all star top performer on the team? One can argue that that's fine and they deserve the raises and promotions because they're working extra, but it ends up putting the team in a very unhealthy place where the other team members can't really compete with the workaholic unless they too start working extra.