Why do we apply location, say after we moved an object
Do we have to apply location after moving object?

In short, No. In which case thought I'd explain what it does, and a couple of scenarios where it may be useful.

Local vs Global Coordinates.

Blender uses world and local coordinates. 

When an object has zero location and rotation, and unity scale, the local coordinates of its data will match the corresponding world coordinates.

For instance the default cube has its origin at (0, 0, 0) and its data, the mesh, has a  corner (vertex) at (1, 1, 1).

If I move the cube object to (1, 1, 1) the local coordinates remain the same, but the global coordinate of the fore mentioned corner vertex is now (2, 2, 2)  I've snapped the 3D cursor to the vertex in image below to demonstrate, would also show by selecting "Global" for vertex coordinate.



Applying location in object mode, would alter all vertices local coordinate to the global coordinates, matching its origin to global origin. (note  has no rotation or scale applied) 

Applying location is the  same operation as Origin to 3D cursor with the 3D cursor at (0, 0, 0). (with no object parenting)

Why do this?


If I want the origin on base of default cube I can move it up one unit such that global (0, 0, 0) is on its base, and apply location.
Let's say I have an intricate assembly made up of different parts
that I've modeled with a separate object for each. When finished,  it may
be simpler to have all the parts located at (0, 0, 0) and let the
local mesh data take care of the positioning, by applying all
transforms on all components. (that way if I transform a part later,
it can be relocated easily, I don't need to remember its location, rotation and scale, I can just set all to default)  I've imported a number of models that have been arranged this way.
Making simple model of earth and moon. Add sphere (earth) at origin,
duplicate for a moon, scale down move away along x axis and apply
location.  It can now be rotated in its fixed orbit around earth by
simply adjusting the z Euler rotation.