Hi,
Suppose you have one big PHP file with the code for a whole website in it. Home page code, Contact us code etc.
When you're on the home page, the PHP parser will still have to parse the 'Contact Us' code even though it won't be displayed.
My solution would be to have a 'filtering' page (index.php) that decides to 'require' the home page (home.php) or the contact page (contact.php).
I would keep the 'common' code (headers, footers, menus etc) either in index.php or if it became very long, I might even transfer thes to individual files.
There's no real 'best' way, but the larger a site is, the more useful these separations become.
Hope that helps.
P.