There are other similar questions that have been "answered", but the answers aren't complete and they don't solve the real problem.
This is really a two-parter with a sub-question.
1. What are the general situations you would want to use this.props.children?
2. What are some specific situations with examples?
I have read the docs, please don't only quote the docs.
Motivation for this quesiton:
The reason I for this question is that at the time of this question, the docs give a very very general example of how to use it and the methods to use when doing this, but the example don't give us true context. It isn't usable IRL. The example could be literally reused all over an app without rhyme, reason, or regards to sanity. Is that really ok?
I have been told you will use this.props.children, "when you don't know what children will be passed." But technically you never really know what changes may come down the line that require more or different children. So this is pretty ambiguous.
Also I found an interesting article by Jake Trent: http://jaketrent.com/post/send-props-to-children-react/
The article shows how you can add/remove props being passed to these "unknown children" based on the type of the component, which is neat(and possibly a good idea when you build a third party component).
My big takeaway so far is that you are giving power over the children to the parent, when you specify this.props.children Is this a good reason or just a byproduct? (example: proptypes, actual typechecking ... ) but,
2a. What other things would/could/should you do here?
2b. What things should you not do?
Examples please!