Quando devo usar React.cloneElement vs this.props.children?

Ainda sou novato no React e, em muitos exemplos na internet, vejo essa variação na renderização de elementos filho que acho confusa. Normalmente eu vejo isso:

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

Mas então eu vejo um exemplo como este:

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

Agora eu entendo a API, mas odocs&nbsp;não deixe claro quando devo usá-lo.

Então, o que um faz e o outro não? Alguém poderia me explicar isso com melhores exemplos?