I agree that the whole bad vs. good teachers thing is off-topic, though.
And sure, the statement "not everyone can understand computer science" is technically true if you include people with mental disabilities. But in reality, some people draw the line a lot higher as a form of gatekeeping. I've known a number of professors who let themselves off the hook this way too: Poor student performance couldn't possibly be a failure of their teaching--the students must not be smart enough!
Other students seem to learn programming extremely easily. I would show them something one day, and the next day they've already used what I showed them in their code.
I'm open to the hypothesis that its my fault that some of my students failed to learn programming. I certainly felt terrible for them when they worked really hard and still failed. But I don't think its all me. I certainly can't take equal credit for the students who did very well. My star students seemed like they barely needed me to teach them anything at all.
And for what its worth, the perspective that talent doesn't matter is an awful thing to teach struggling students if its wrong. Students hear that as "If I struggle at programming it must be my fault". I don't think it is. I think some people just have brains wired to make programming easier or harder to learn. There's no shame in encouraging some people to pick a different career. If programming really isn't right for someone, the sooner they swap to something else, the better.
* The student might have other stuff going on in their life at the time. Heavy course load, personal drama, etc..
* The student might have other interests, so they don't devote as much time to studying as they should.
* The student might not yet have had a good math education, so their abstract reasoning skills lag behind. I think it can still be learned, but someone in a college compsci course just doesn't have time to catch up.
I've been an undergrad/grad TA as well as a tutor for high school students in math/programming. My own experience tells me that learning is very "path-dependent". Students will be more receptive to my way of teaching if their background is similar to my own. Part of my job as a teacher is (was) to try to recognize the gaps in their background, but sometimes I do have a lot of trouble understanding what path a student took before coming to me, so it's harder for me to help them.
And looking at my kids, this stuff matters a lot. A kid that comes in with complete zero experience has massive disadvantage against one with some experience.
The entire first year of CS courses was mostly there to instill fundamental computer skills (not CS skills!) in the ones without that preexisting knowledge.
I read a paper over a decade ago talking about this. They gave a survey to freshman students and looked for correlations with their end of semester marks. They found the students who assumed there was a consistent set of rules underpinning programming (even if they didn't know what those rules were) dramatically outperformed the students who thought the computer would "work it out somehow".
This stuff is not taught here. You either know it or are seen as lost cause.
Even more importantly, I had those games that introduced you to loops, ifs, variables, programming in general.
I teach math at a community college an I'm absolutely convinced not everyone can understand math. I'm not a great teacher and I think I'm not a terrible teacher. I've come to the following conclusion. For some people the effort required to learn the material given their natural ability is so high that they'll never get it. They won't be able to put in the effort required.
I could be wrong though and might be one of the people who let themselves off the hook as you mentioned.