The job of a university teacher is to help students learn - if a student fails the class, then the teacher has failed to do their job. Sure, it's possible that some of the blame for that failure may lie with the student, but nonetheless, the teacher still failed to achieve what they set out to do. A teacher failing a student is like a programmer shipping buggy software - it may be the case that, because of circumstances beyond your control (incomplete specs or dysfunctional management; unmotivated students or weak syllabuses), you couldn't do your best work in a particular instance, and you don't necessarily need to feel guilty about that; but you shouldn't be proud of it.
The problem with this point of view is that X classes are taken in parallel. So you start getting competition among the managers/teachers for your time, as each one understands that "spend all your time on just my class, my suggested resources, and as much time with just me as you need" will lead to the optimal amount of help they can give. They can't do any more as ultimately it's the student's job to learn and the transfer of tacit knowledge is incredibly difficult -- you can lead a horse to water etc. Some teachers give up on doing anything important around the crunch times, knowing they can't win (typically humanities teachers at a primarily technical or engineering or project-based school), some teachers just lessen the load as much as they're comfortable with, others take an "I'm the most important and difficult" attitude and the only one who will get an A will be the one who got an F in at least one other class.
I wish schools would restructure to be serial with context-dependent branching, much like learning on the job tends to be, that way you can spend Y weeks focusing intently on a small spectrum of topics, then move on. Some classes are 3 hours every week for 12ish weeks, if you serialized that you could be done in 12 days. Plus the student and the professor would be in harmony, each having the other's undivided attention.