Strictly speaking, a "well-defined" function associates one, and only one, output to any particular input. A function would not be well-defined if say $y = f(x)$ such that $y$ can take on any number of values at any particular input. Suppose the input $\;x = a\;$ outputs more than one distinct value, so that $y = f(a) \in\{y_1, y_2, ..., y_k, ...\} $. We'd never be able to say what, precisely, $y$ is when $x = a$.
If $y = f(a) = b$, and $y = f(a) = c$, and $\,b\ne c$, then the value of the function $\,\,f(x) = y\,$ at $\,a\,$ is ambiguous: $y$ would not specify any particular value at $a$. That is, its value is not well-defined at $a$, and perhaps not well-defined at other inputs, as well. Nor can we say much about the behavior of a function at a particular value, if it can take on many values at a given point.
E.g. How would we define continuity of, say, a real-valued multifunction?
The strict definition of a function, in terms of "outputing" exactly one value for any given input is really no more than an attempt to keeping functions well-defined, and thus properties of functions well-defined.
But you'd might like to explore the following:
See this entry on multi-valued "functions":
A multivalued function (shortly: multifunction, other names: many-valued function, set-valued function, set-valued map, multi-valued map, multimap, correspondence, carrier) is a left-total relation; that is, every input is associated with at least one output.
The term "multivalued function" is, therefore, a misnomer because functions are single-valued. Multivalued functions often arise from functions which are not injective. Such functions do not have an inverse function, but they do have an inverse relation. The multivalued function corresponds to this inverse relation. [bold-face mine]