I have only seen a lack of branching to be beneficial in very specific scenarios. I recently worked on a project where there were only 2-3 more senior devs. We worked directly in master and found it easy to find issues quickly and burn through tasks. We also benefited from the fact that the project was not live yet, so we could keep issues that were incomplete in master at the end of each sprint with the clients knowing that we would be continuing development in the next sprint.
For almost every other project though, branching is a must. For newer devs pull requests are necessary for reviewing code efficiently. Also, in my experience with web development, keeping features in their own branches is necessary when the client changes sprint requirements regularly. If halfway through a sprint a client re-prioritize tasks, pulling items out of master is a pain.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.