When you are not sure whether an include file has already been included, possibly higher up in your include files. This can happen when you are relying on external libraries and you are not sure what is happening higher up.
The diff between include and require is in how it handles failure:
Manual page on require states:
"require is identical to include except upon failure it will also produce a fatal E_COMPILE_ERROR level error. In other words, it will halt the script whereas include only emits a warning (E_WARNING) which allows the script to continue."
The same goes for the *_once() cousins.