It basically as a .gitignore-esque filter that serves to prevent files from getting compiled into a compressed slug and pushed with your deploys.
In other words, you can put all the files your Heroku app doesn't need to save the push time, bandwidth, and storage space, while the files still remain in your repo, unignored.
http://matthodan.com/2010/08/20/exclude-static-assets-from-heroku-slug.html
https://devcenter.heroku.com/articles/slug-compiler