It is important to use Preview to make sure you are getting the amount of blank space you request, because the results of these commands are not always exactly as requested, for the reasons explained below.
The .sp command is the more basic: it gives you the requested amount of blank space, unless it is not possible to fit that amount before the bottom of the page. In that case, .sp gives you as much blank space as it can (and it does not put the remaining blank space at the top of the next page). Thus, if you ask for a 4" blank space with the command
.sp 4iand there is only 2" between the command and the bottom of the page, you get 2" of blank space. (Note that here bottom of the page refers to the bottom of the printed part of the page, which is about 1" above the physical bottom of the page.)
Using .ne is a bit trickier, and is never guaranteed actually to give you a certain amount of blank space. What you are in fact doing with .ne is telling the formatter that you .need a certain amount of space for something (like a section of text that you want to keep together). It does not indicate to troff that you need that amount of blank space.
If the amount of space you indicate exists between the command and the bottom of the page, you will get no blank space--the needed amount of space is available on that page. If that amount of space is not available between the command and the bottom of the page, .ne forces a page break, and you get the amount of blank space that exists between the command and the bottom of the page. Thus, if you say you need 5" (say, for a section of text that should be all together) with the command
.ne 5iand there is only 2.5" between the command and the bottom of the page, .ne will force a page break, leaving blank the 2.5" of space on the page where the command appears. (This makes sense to troff because the 5" that you need are available all together on the next page.)