This is a question desguised as a rant. There is a similar question here, What's the point of Grover's algorithm if we have to search the list of elements to build the oracle?, but the answers have not helped me much.
I have seen a few explanations of Grover's algorithm. I do not understand it, and the problem is not the mathematics. The story told by the sources is: given states $|x\rangle$ and $|\psi\rangle$, there is an operator $U$ such that you apply it so many times to $|\psi\rangle$ and the result is $|x\rangle$.
Surely the point of the algorithm is not to turn $|\psi\rangle$ into $|x\rangle$, is it?
If it is, then it should be called Grover's transformation, not Grover's search. And for that I have a much simpler algorithm: just apply the operator $\frac{|x\rangle\langle x|}{\langle x|\psi\rangle}$ (it requires a single run and works with 100% efficiency). Why is this not acceptable?
I have seen an analogy with phones. Suppose you want to find out who owns a particular phone number. Classically you must search the entire phone book (this analogy is getting out of touch with reality, but never mind that for the moment). Fine. So in the quantum setting I suppose you might have the state $|\psi\rangle$ which is your phone book, written in terms of energy eigenstates as $|\psi\rangle=\frac{1}{\sqrt{N}}\sum_i|\phi_i\rangle$, and you might ask "who is the state in there with energy $E_i$?", and the answer should be $\phi_i$.
But if I must know $|\phi_i\rangle$ in order to build the Grover operator $U$, then I see no point. Can I create $U$ without knowing $|\phi_i\rangle$ beforehand?