¿Cuándo debería usar React.cloneElement vs this.props.children?

Todavía soy un novato en React y en muchos ejemplos en Internet, veo esta variación en la representación de elementos secundarios que encuentro confuso. Normalmente veo esto:

class Users extends React.Component {
  render() {
    return (
      <div>
        <h2>Users</h2>
        {this.props.children}
      </div>
    )
  }
}

Pero luego veo un ejemplo como este:

<ReactCSSTransitionGroup
     component="div"
     transitionName="example"
     transitionEnterTimeout={500}
     transitionLeaveTimeout={500}
     >
     {React.cloneElement(this.props.children, {
       key: this.props.location.pathname
      })}
</ReactCSSTransitionGroup>

Ahora entiendo la API pero ladocs no aclaro exactamente cuándo debería usarlo.

Entonces, ¿qué hace uno que el otro no puede hacer? ¿Podría alguien explicarme esto con mejores ejemplos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta