TL;DR: "$f$" is the function itself. "$f(x)$" is the value the function takes on for the particular input value "$x$". In "$y(x)$", $y$ is the dependent variable, and $y(x)$ is the value of that dependent variable for the input value $x$. In this case the function itself has no label.
There are actually two concepts of "function" at play here:
Originally, "variables" are letters we use to represent various measurements. Very commonly "$x$" and "$y$" are used to represent the $x$-coordinate and $y$-coordinate of a point in the plane. They are "variables" because there are many points on the plane, and their values could be used to represent the coordinates for any point, so they "vary" over the points. But we may want to limit ourselves to just the points on some curve, such as the circle of radius $1$ with the origin as center. This forces a relationship between the values of $x$ and $y$. This relationship can be expressed algebraically by the equation
$$x^2 + y^2 = 1$$
Equivalently, we can solve this equation for one variable in terms of the other:
$$y = \sqrt{1 - x^2}\ \text{ or }\ y = -\sqrt{1 - x^2}$$
In this form, we consider $x$ to be the "independent variable" and $y$ to be the "dependent variable", as we can choose a value freely for $x$ (almost - we need $-1 \le x \le 1$) and find the corresponding values of $y$. But because there are two such values, $y$ is not completely dependent on $x$. For each $x$, we have to make a choice between the two possible options for the value of $y$.
If we restrict our attention to just the upper half of the circle, $y = \sqrt{1 - x^2}$, this indeterminancy goes away. The value of $x$ now completely determines the value of $y$. This is the original meaning of "function": a relationship between two variables, where the value of the independent variable completely determines the value of the dependent variable.
But this concept of a function is not fully rigorous. So when the need for rigorous foundations for mathematics were recognized, it was necessary to replace it with something well-conceived. In this version, a function is a triple $(f, A, B)$ where $A, B$ are two sets, and $f \subset A\times B$, the set of ordered pairs $(a,b)$ with $a \in A, b \in B$. The set $f$ must meet two requirements:
- For every $a \in A$, there must be some $b \in B$ such that $(a,b) \in f$.
- If $(a,b) \in f$ and $(a, c) \in f$, then $b = c$. I.e., for each $a$, the corresponding value of $b$ is unique.
For each $a \in A$, we then define the notation "$f(a)$" to be the unique value of $b$ such that $(a,b) \in f$. And somewhat ambiguously, we also refer to the entire triple $(f, A, B)$ as just "$f$" leaving the domain $A$ and codomain $B$ implicit. But when we want to do it right, we denote the full function by $f: A \to B$, or $A \overset f\to B$.
What you are asking about comes out of these two concepts interacting. In $$y = f(x)$$
there are actually three variables:
- $x$ is the independent variable, roaming over the domain of the function (probably some subset of the real numbers $\Bbb R$, but possibly the complex numbers $\Bbb C$ or some other set $A$).
- $y$ is the dependent variable, roaming over the codomain of the function $B$ (likely also either $\Bbb R$ or $\Bbb C$).
- $f$ is also a variable, but it roams over all possible functions that could be under discussion in the context.
In $y(x) = x^2$, there is no label on the function. For any value $a$ in the domain, $y(a)$ refers to the value of $y$ when $x = a$. "$y(x)$" is used when defining the the relationship by means of some formula in $x$. If we are talking about multiple functions between $x$ and $y$, then we would want labels for each of them. But often when only one function is under discussion, a separate label for it isn't needed.