All very good questions. I was wasn't thinking about it as the blame game though, but I do see how it could quickly become that.
I was thinking, firstly, along the lines of having some ammo to make fun of people with (insult based humor is the basis for most of my relationships with people). Also, on a more practical note, as a developer myself I would like to know when my code breaks and why.
You can point the blame at a lot of people, but in the end it's highly unproductive and a waste of time. You fix the bug and move on. If programming teams played the blame game every time a bug came up, it would just slow everyone down.