Avoid unnecessary state changes and reduces the amount of OpenGL calls. It also puts all the interesting logic at the same place, reducing the complexity a little.