In that little snippet of code, the z=?? pushes the cube that gets subtracted from the sphere down. Objects in Open_SCAD are created at the origin. So a sphere gets created with its center at (0,0,0) which means the finished shape goes into all quadrants. But 'cubes' get created with its lowest left corner at the origin (0,0,0) and extends into positive space for (x,y,z). So the cube needs to be shifted left and backwards to be able to subtract off the correct amount of the sphere. The z=?? term controls are far down the cube is shifted.

If you put this into Open_SCAD and Compile and Render it, you will see what I'm saying:

difference() { sphere(r=25);
cube([60,60,60]);
}