The difference between PHP functions require and include are simply error handling. See the quick view table here.
The following table shows what happens when a file is missing. This question gets answered a lot, so I will just solidly state it:

Differences

include() missing file throws Warning and keeps going can call same file more than once
include_once() missing file throws Warning and keeps going cannot call same file more than once
require() missing file throws Fatal Error and stops script can call same file more than once
require_once() missing file throws Fatal Error and stops script cannot call same file more than once

Why choose one over the other?

The answer depends on the importance of the file in question. If the file is not critical, using include() and include_once() will still let your page be displayed and continue without the missing file.

If a missing file could cause more trouble like database issues, then require() and require_once() will stop your program dead in its tracks.

Solid Tip: Keep in mind that a Fatal Error will display an empty white screen to the user, which may cause them confusion.