I totally agree with this. Companies should give (constructive) feedback when they say no. They do not partially out of a fear of being sued, but also because they often don't know really why the reject people. The default state at most companies is rejection. If no one really liked you during the interviews, at most companies this will result in a rejection.
We're doing this differently at Triplebyte. We give everyone we don't work with (who does our final interview) a several hundred word personal email, with an explanation and advice on how we think they can improve.
I think another reason is a fear of starting an endless argument with the candidate, when candidate believes he was actually right and the company made the decision already so it's rather pointless. Not sure how likely is it happen though.
True I could EASILY see that happening. I think the important point is to provide the feedback then stop communication (unless it's like a simple thank you or maybe some clarification you could give them or something). Arguing back and forth with an employer who already made the hiring decision isn't going to help things but it's hard not to be defensive if you think someone is wrong.
We're doing this differently at Triplebyte. We give everyone we don't work with (who does our final interview) a several hundred word personal email, with an explanation and advice on how we think they can improve.