You use include or include_once when it is not mandatory to the program that the include happens. You use require or require_once when you want the script to fail if it is unable to do the include (normally because either the file does not exist or does not have the appropriate read permissions).
You use include/require if you want the include to happen even if the specified file has already been included by the script. You use include_once/require_once if you only want the file included if it has not yet been included by the script (normally done with files that are used to define functions and/or classes, as trying to define either a second time will cause a fatal error).
None is the "preferred" method. The correct one to use is completely dependent on what is being included and what you want to happen if it cannot be included.
Also, note that the function [man]readfile/man should be used if you do not want any PHP code in the file being "included" to be processed as such, just directly output without parsing.