Earlier quoted context omitted.
The idea is that you don't want to check-in any builds.
Sure, so gitignore build/ or whatever. But you don't need to unignore .gitkeep
".gitkeep" is just a human thing; it would work the same if you called it ".blahblah".
So their pitch is that if you want to explicitly keep the existence of the directory as a committed part of the repo, you're better off using the actual .gitignore functionality to check in the .gitignore file but ignore anything else in the directory.
I don't find it amazingly compelling; .gitkeep isn't breaking anything.