Z-Buffer is used by a game engine to determine which objects, or parts of objects, are visible and which are hidden behind other objects.
The graphics processor stores the Z-axis value of each pixel in a special area of memory called the Z-buffer, which is updated constantly.
Different objects can have the same x- and y-coordinate values, but with different z-coordinate values. The object with the lowest z-coordinate value is in front of the other objects, and therefore that's the one that's displayed.
An alternate algorithm for hiding objects behind other objects is called Z-sorting. The Z-sorting algorithm simply displays all objects serially, starting with those objects furthest back (with the largest Z-axis values). The Z-sorting algorithm does not require a Z-buffer, but it is slow and does not render intersecting objects correctly.