As we have seen, the numerical evaluation of symbolic expressions is done in three steps: first, we do some symbolic computations and then we substitute values by numbers and do an evaluation to a floating-point number with evalf.
The reason for symbolic computations is often that we want to make parameter studies. This requires that the parameter is modified within a given parameter range. This requires that a symbolic expression is eventually turned into a numeric function.