And that is rather the point is it not? If you want to add completion to curl, you don't. Because that is a task for another program. If you want to add amazon searching to grep, you don't. Because that is a task for another program.
My point was that command-line completions are possible, and are, in fact, pretty sophisticated. Despite my using 'zsh' as the meme, I'm much more a bash user myself, but even its commandline completions are extensive, and include the ability to suggest completions, alternatives, and the like. Commands such as ssh will utilize various resources to suggest hostname completions and the like.
Whether and how desirable this is is quite the different question. But it's very technically feasible.
And that is rather the point is it not? If you want to add completion to curl, you don't. Because that is a task for another program. If you want to add amazon searching to grep, you don't. Because that is a task for another program.