Basically said, the setting script defines which projects are part of your build and some build-global settings, build scripts configure the actual build. Some settings you can only do in either of them, some settings you can make centrally for all projects in the build within the settings script. Repositories for example can be configured in each project build script as needed, or you can just configure it centrally for all projects in the build within the settings script.