I've found the following exercise:
Suppose that the temperature in a point is given by $T=xyz$. If you are in the point $(1,1,1)$, in which direction you should go to keep the same temperature?
I suspect that the direction must be $u$ where $\nabla f(x_0,y_0) \cdot u=0$. I've made a "small experiment", I tried to make a variation of the problem:
Suppose that the temperature in a point is given by $T=xy$. If you are in the point $(1,1)$, in which direction you should go to keep the same temperature?
For which I answered as follows ($\cos_{a}^{b}$ denotes the cosine between the vectors $a,b$):
$$\nabla f(x_0,y_0) \cdot u = |\nabla f(x_0,y_0)| |u| \cos_{\nabla f(x_0,y_0)}^{u} = |\nabla f(x_0,y_0)| \cos_{\nabla f(x_0,y_0)}^{u} $$
I've made the contour plot and I checked that in my example that if $\cos_{\nabla f(x_0,y_0)}^{u}=0$, then we indeed have no temperature variation (at least in a very small neighborhood).
But if I make the same with the first exercise, I'll obtain the "cosine in three dimensions", what (if any) is the meaning of this?
For the first exercise, I guess the answer should be given as:
$$\nabla f(x_0,y_0,z_0) \cdot u = (1,1,1)\cdot(a,b,c) =a+b+c = 0 \\ |(a,b,c)|=1 $$
Is it correct?
For your simplified exercise, you can see that you are looking for $u$ such that $$\nabla f\cdot u=0$$ As you observed, for the function $f(x,y)=xy$ and the point $(1,1)$ this yields $$0=(1,1)\cdot(u_x,u_y)=u_x+u_y$$
So instead of writing it in terms of the cosine you can directly obtain the components of the vector $u$. This means you have one degree of freedom, corresponding to all the vectors that point in the same direction. The requirement that $u$ is a unit vector ($u_x^2+u_y^2=1$) fixes the components to just two posibilities.
Similarly, for $f(x,y,z)=xyz$ and the point $(1,1,1)$ you get $$0=(1,1,1)\cdot(u_x,u_y,u_z)=u_x+u_y+u_z$$
This means you have two degrees of freedom. This is because in 3 dimensions the level sets of the function are entire surfaces instead of just curves. So when you require that $u$ is a unit vector ($u_x^2+u_y^2+u_z^2=1$) you still have all the unit vectors in the tangent plane of the level set of $f$.