Earlier quoted context omitted.
I suspect that often the reason for not getting a job is simply that there were more qualified candidates than positions. In that case, there may be no reasons to give; someone else was selected but your application wasn’t deficient in any way.
That would be totally valid feedback if it were possible for the candidate to interpret it at face value. Given that effectively no companies provide substantive feedback, even if "there was a more qualified candidate" is the reason, any reasonable candidate is going to interpret that as "sorry, we can't tell you the reason."
There are probably obvious things like "crash and burned on a whiteboard problem path-finding" or "requested more than was allocated for the position" (would be nice if possible compensation ranges were required in the posting); but past the obvious disqualifications (which candidates should get feedback on) there's that 'fits with the (a) team' phase. Having an 'exit value', even if generic / approved by legal, would be helpful for everyone including internal company metrics that might drive a better posting if the job isn't fulfilled.