Good morning Daniele,
Great question. I think that part of the confusion comes from the fact that these are all made by the same solo developer, who has reused the same names for multiple things.
Robert Edgar, famous for the MUSCLE program that performs MSA, released a fast, heuristic program for search and clustering. It's in this paper:
This program was originally called uclust, then the name was changed to usearch because the core search algorithm is broadly applicable for all kinds of biological search, not just clustering. So the program / algorithm call uclust, is now called usearch. This algorithm is now released in the program called usearch, which is confusing because it's same same algorithm implemented in the original uclust program.
The usearch algorithm has also been implemented in the open-source program VSEARCH:
Qiime1 has scripts that make use of different versions of Robert Edgar's software. For example, assign_taxonony.py uses the old version, uclust, for search. The pick_otus.py script does clustering with many different software packages, including the default (old uclust) and two newer version of this program (usearch and usearch61).
Does this help answer your question?
Colin