I think it's very rare to give reasons for firing someone.
If someone was a bad performer, they team knows it's because of bad performance, but reasons given will be "cost cutting", "personal matters", or "they've moved to a better project."
If someone was fired right before vesting, and the reason given was "bad performance", everyone "knows" that management is just being cheap.
If someone was a bad performer, they team knows it's because of
bad performance, but reasons given will be "cost cutting",
"personal matters", or "they've moved to a better project."
If I fire someone for bad performance I will absolutely tell the team that's why i fired them. I may not tell people outside the team (I don't want to bad mouth my former employee) but the team deserves the truth.
When I see someone getting fired for performance, usually the team has been complaining about them (in performance reviews or 1-1). So it's no surprise to the team and the reason isn't given.
When someone has poor but not terrible performance, it's usually accompanied by a second factor (high salary, absence). In that case, the nicer reason is usually given even though we know they were not faring that.
There also tends to be a bit of theatre before someone is fired for bad performance. "Are you sure you fixed the bug?! Give me a video. Which PR? Which line?"
If someone was a bad performer, they team knows it's because of bad performance, but reasons given will be "cost cutting", "personal matters", or "they've moved to a better project."
If someone was fired right before vesting, and the reason given was "bad performance", everyone "knows" that management is just being cheap.