Currently, the advanced setting 'Only build pull requests' is defaulted to off. The current default makes sense when purchasing some sort of unlimited plan, but for organizations like mine on the Performance / Pay-as-you-go Plan, it can end up being very costly as every commit to the repository results in a build.
We just moved several teams over to CircleCI from Jenkins several months ago, and when analyzing our usage, the teams that had forgotten to turn "Only build pull requests" to 'On' have usage that was several times higher than other projects. They also weren't getting any benefit from it. They were simply being charged more because they weren't expecting CircleCI to work in this way. It's a little unintuitive, and definitely unexpected.
I thought maybe it would be worth it to make a bot that used the CircleCI API to check this setting for new projects, and automatically set it to on, but this isn't possible as this option isn't exposed through the API.
There are of course two sides to this coin. Some teams definitively want this setting off, but those teams will simply find the setting in preferences after seeing that CircleCI isn't doing what they want. For the teams that want this setting on, but don't know about it, they'll just be charged extra without anyone knowing about it until someone on the project inadvertently catches and fixes it. Part of the problem also is that someone on each and every project has to catch it and fix it also. That makes the current default unscalable.