Short answer : think of a PHP script as a program. Your script is run every time a user accesses it, and any included or require(ed) file is loaded every time.
So if 100 users access your PHP page at the same time and that page require(s) another script, then this other script will be loaded 100 times (most likely from the disk cache, so it's not that bad).
As for the difference between require and require_once, RTM. Short version : require_once will make sure that a particular file is require(d) only once during the life span of your script (this is most useful to prevent loops of includes), while require will allow you to include the same snippet of code at multiple places in your script (for example to add the same ad-banner on top and bottom of your page).
There are caching mechanisms (like memcached) that can help to reduce the waste of resources (but not in the manner you'd expect from your question).