As a professor, I so wish we could do this more. But realistically, it seems that we just can't afford to let students fail who aren't yet equipped to learn that way. But I do try to allow for this while still staying within the bounds of fairness, for example, giving students a grade based just on exam scores when that would be a higher grade, so they can blow off homeworks that other students really need credit for to shore up their grade.