Some, like the authors of Continuous Delivery (http://continuousdelivery.com/) seem to be arguing against branches, and for a single codebase that is continuously tested, integrated, and releasable.
That said, private branches can make it easier for people to commit early and often, as all changes can easily be squished together so others don't have to see every "embarrassing" iteration.
Utilizing branches heavily does not imply that you shouldn't have a single mainline branch that branches are merged down to often. In fact, it's incredibly difficult to do continuous integration and deployment effectively without branching. Continous delivery requires that your mainline codebase is pristine and ready to be deployed immediately. Without the ability to make commits that don't affect that mainline, that's an unrealistic expectation.
I would say the authors probably have an issue with long-running branches, especially where communication between the mainline and the branch is sparse, but short-lived branches have a ton of benefits if you're deploying continuously.
That said, private branches can make it easier for people to commit early and often, as all changes can easily be squished together so others don't have to see every "embarrassing" iteration.