It made realize that I've made all of these mistakes on tasks similar in complexity of Fizzbuzz. I write a lot of scripts in different languages some of them quite domain specific.
Why do I make mistakes? Most of time the mistakes stem from the fact that I do not have to get it right the first time and I may have misread the specifications. As Hemingway said: "The first draft of anything is always shit"
So take 1000 applicants who can code but are in a stressful situation and I would not be shocked that there would be 50 mistakes on something so seemingly trivial.