Not really, it's only there for the programmer's convenience - to indicate that the file is something (generally a collection of functions) that gets included into other scripts, rather than generating a page in its own right.
The obvious question is "why not just use .inc then?". And indeed you could - or you could use ".foo" or ".wibble".
The problem is, though, that it's unlikely that the server will have any rules about what to do with files with .inc (or .foo or .wibble) extensions. If such a file is requested, the server falls back on its default behaviour, which is to just serve the file requested as raw data.
Which means that if you have a file "database.inc" on your server, containing a bunch of functions that handle all your database connections, someone who makes a guess (or finds out some other way) and requests "database.inc" will get the raw source code of the database.inc file. You probably don't want this.
So for safety's sake a .php is tacked on the end. When "database.inc.php" is requested, the server sends it to PHP. PHP starts the script, parses and sets up the functions defined in the file, sends back the output, and exits. Since the page doesn't actually generate any output (being just a pile of function definitions, without any actual script), the person requesting the page is served with a blank page.