The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Well, the author probably suggested it because it is easier to use that then to type the page name, I guess. You can change the filename and the form will work. Um.. That is quite stupid explanation, but I can't think of anything else.
I personaly don't use it.
$_SERVER['PHP_SELF'] contains the filename of the currently executing script.
If the filename is test.php, there is no difference if you use
<form action="test.php"> or
<form action="<?php echo $_SERVER['PHP_SELF'];?>">

$_SERVER['PHP_SELF'] is simply a variable that holds the name of the file that it is sitting in.

The reason it is used is so that you can either: a) change the name of the file and not worry about it, b) use in an include (or equivalent file) and not worry about it when you use it in multiple pages.

The reason that you can remove it and the form still goes to the same place, is that without an action location for the form to send the information to, all it can do is send the information to the page the form is sitting on. It is probably not proper HTML standards though.