If you need a pause, use delay() or the POSIX clock_nanosleep().
If you need a very short delay (e.g., for accessing hardware), you should look at the nanospin*() functions:
They basically do a while loop to a calibrated number of iterations to delay the proper amount of time. This wastes CPU, so you should use these functions only if necessary.