It will be the maximum value at a DOF. The vector, norm_u.vector(), is a vector of values for each DOF, from that vector the maximum value is taken. This isn't the same as the maximum value of the Function itself unless you have linear elements.
If you want to measure "accurately" the maximum value of the vector u, you might want to interpolate onto a finer mesh with linear elements, and take the maximum value from there. This might be a convenient way to improve that resolution since the interpolation is fairly fast, and the search for a max value is also fast.
If you really need it to be accurate, you might want to use a root finder of some type to find the location of the maximum value and then evaluate that point, which will consider the basis functions. This approach requires a lot of point evaluations and of course a root solver.