You never want build artifacts to be committed. You don't want to have everyone working on your project to need to setup their own gitignore for every project. So it makes sense to have a common commited gitignore for files the project produces that should never be tracked by git.
I dislike when people put in editor files in the gitignore though. People should setup global ones for their local tooling.