Axe, actually, they DO change the extension name to protect the file. Its actually a pretty comon practice. You can configure Apache to parse anything as PHP. Some people i know use .inc for include files.
Yes, Apache can be configured to parse anything for PHP commands, but any serious system admin isn't going to do that. If you have 50 clients on a box, and only one of them uses PHP and the other 49 use straight static HTML, what sense does it make to have those other 49 users bogging down the system, and making their sites run slower by forcing PHP parsing?
Most servers that I've experienced online over the last dozen or so years, rarely deviate from the standard extensions for server-side scripting language.
As far as using .inc, most of the scripts I've seen have been .inc.php (for example, config.inc.php).
If you include('config.inc'); from a .php file, yes, it's going to include it and execute any PHP commands contained within, but only because it's a .php file that's calling it. If you simply went to http://www.whatever.com/config.inc, then its contents would be displayed right out to the browser (by default). So personally I feel it's a stupid thing to do.
Why not use config.inc.php instead of config.inc as thousands of scripts out there already do? 🙂
If you're the only site on the server, and you have root access, then sure, go head and totally customize it to do whatever you want. If you're one of many sites on a server, and you only have control over your own home user account, there are a million and one things beyond your control, so you have to design your code & naming with those things in mind.
Not every system administrator is going to be willing to have every file that Apache throws out globally parsed for PHP commands, or allow execution of Perl CGI scripts in any directory that Apache has access to, or process SSI directives regardless of whether the file's extensio is .shtml or not. It simply hogs too many resources.