The bigger the screwup, the more people had a hand in it, and the less truthful it is to point to one person and say "you did it."
Let's say I merge a syntactically incorrect piece of code that brings down the entire system on the next release. Nobody notices for a few hours and the company loses a bunch of money. Did I screw up? Yes I did, but that's the tiniest piece of it.
* How did my change get merged? Who reviewed it? Did nobody test it or notice that it had no test coverage that would exercise my stupid change? Do we have any standards or accountability for review quality?
* How did it get released? Do we not have any automated tooling to stand up a candidate release in staging and do smoke tests?
* How did the downtime last so long? Do we have any operational monitoring? Was someone on call? Who is accountable for system uptime overall?
A bad boss would just throw the person closest to the cause of the failure -- me -- under the bus. But who among us has never committed bad code? That's why we build systems for code review, for automated test, for release QA, for operational monitoring. And if all those systems fail or are inadequate, it's not really the fault of any single developer who was essentially walking a tightrope without a net.