What is branched path tracing and how is it useful?
The Branched path integrator is not new, it was renamed from the Non-Progressive integrator in 2.69.
From the manual:


  The branched path tracing integrator (formerly called non-progressive
  integrator) is similar, but at the first hit it will split the path
  for different surface components and will take all lights into account
  for shading instead of just one. This makes each sample slower, but
  will reduce noise, especially in scenes dominated by direct or
  one-bounce lighting. To get the same number of diffuse samples as in
  the path tracing integrator, note that e.g. 250 path tracing samples =
  10 AA samples x 25 diffuse samples. The Sampling panel shows this
  total number of samples.


To visualize how this works, the Progressive integrator simulates one path (or ray) per sample:



The Branched path integrator splits the ray, sampling multiple directions as well as multiple components of the material (e.g. glossy, diffuse, etc) in one sample:



This is helpful because it takes into account light from multiple directions as opposed to only one, as well as giving more control over how different shaders are sampled. (this also helps reduce fireflies, see What is the Reason Cycles Creates Incorrectly Colored/Firefly Artifact Pixels?)

There is also a nice guide to using the Branched Path integrator with some comparisons written by Tomas Dinges.