I don't know how others use it, but to me the staging area only lives for X seconds and acts as a last stop to simply select the exact changes and lines I want to actually commit. With a GUI, it becomes crystal clear as to what it is.
From what I can tell about JJ's split command, it seems like it does the same thing except you're working backwards to split out changes into another commit.
Both seems fine, I just don't see the complexity with the staging area (unless you're a beginner who's been told to only use the CLI at all costs).