This is a great question that I will make sure to answer in my Turing-completeness post in a week.
But to answer now, it's because of multi-project builds, where projects can be in multiple languages.
If you have build systems that are not independent from their language, how do you get them to play nice?
I designed Rig to be able to act as a babysitter and make them play nice.
If I play my cards right, Rig will be the reason other build systems become irrelevant. :)