Response in first form (other forms follow)
Here is an example of a real world case that lead to the current state with the splitting solution path:
When a post started it was about one topic (Post 1). Then a latter post had a paragraph that was on topic and a statement that was off topic (Post 3). The other post continued to stay either on-topic or address the off-topic branch (Post 4,5). No problems so far if a split were done as currently implemented. Then a post was made by another who addressed both the on-topic branch and the off-topic branch in one post using two separate paragraphs. (Post 6).
Example
Post 1
On-topic
Post 2
On-topic
Post 3
On-topic
Off-topic
Post 4
On-topic
Post 5
Off-topic
Post 6
On-topic
Off-topic
Post 7
On-topic
Post 8
On-topic
Post 9
Off-topic
So my idea to resolve this was to split the post as normal using split topic, but when I read the posts (Post 3,6) with part on-topic and part off-topic it was obvious that one paragraph needed to stay and one paragraph needed to be moved to the new post.
The desire for this is that for someone new to reading the split topic, they would not have to bounce back and forth on the links to understand the entire thread of the post, nor would they get part of a topic mixed in with a post that was moved as is. In other words, if the replies had stayed in the form of a tree it would have been fine, but in this case the replies diverged into a directed acyclic graph (DAG).
The desired result after the split, duplicating and editing should be
On-topic Topic
Post 1
On-topic
Post 2
On-topic
Post 3
On-topic
Post 4
On-topic
Post 6
On-topic
Post 7
On-topic
Post 8
On-topic
Off-topic Topic
Post 3
Off-topic
Post 5
Off-topic
Post 6
Off-topic
Post 9
Off-topic
Hopefully my examples make it clear that when a topic needs to be spit, the level of granularity is not the post, but the ideas in the post (which in the example is a paragraph, but could even but a sentence fragment/picture/formula/source code/etc.) that need to be split across topics.
Response in second form
I spend a lot of my time writing Prolog code that analyzes input as structure and when the input is text the structure is syntax, but the syntax is not the goal of why the text was created, it is the semantics that is to be conveyed that is the goal. The goal starts as text but to get to the semantics, syntax is used as a stepping stone.
So too here, to break an idea apart into separate topics, each post hast to be analyzed for the ideas and split. Sometimes a post has ideas from both and so part of it needs to remain in one topic and part of it needs to be transplanted to a new topic.
The stepping stone to break an idea apart and leave one part of the post in the original topic and have another part of the same post in another topic is why duplicating a post is needed. Duplicating is not the final act it is a steeping stone.
Make sense?
Hint Hint Hint
However if Discourse could offer the option to use a tree representation when displaying post that branch off, (example) then there would be no need to split topics. That would be the more preferred solution.
The level for which the option to use a tree representation instead of a linear representation could be chosen at the site, category or group level.
If you want to see other examples of the tree at Lambda-the-Ultimate see this page and choose items with high replies count.