CUPS is horrible, and also had its share of critical vulnerabilities. It is just better than the LPD mess we had before.
It is not a Linux specific thing - it was developed when there still were a lot of UNIX variants around. Apple was a very early contributor, and had quite a bit of influence in making it successful.