Tab completion relies on a limited context. If you're trying to type gearyStreetFinancialReport and the two names in context are gearyStreetFinancialReport and unrelated, you're right, but if there's a very large number of choices, it benefits you less. And new names aren't going to be in context, so even in the best case of my example, you're going to end up typing:
'cp g-[TAB] divisaderoStreetFinancialReport'
I'd expect that to be an advantage of voice stuff; that you can go fast in new kinds of large scope contexts, maybe even whole-machine context. A system designed from the ground up could exploit that in interesting ways.