I'm not 100% sure, but if you look at the Project Status page, in the right corner you'll see 2 drop-downs. One says Set Default Status. When you click on that, you'll see that those 3 statuses (current, planning, and complete) are system statuses that cannot be hidden. You'll also see for the others it says,
"The default status is used when the system has to change the status automatically. For example when all tasks of a project are complete the system will automatically change the status of the project to status that is the default for the "complete" status type."
So my guess is that they make you pick something just in case there's a process that will change the status to the one you're hiding. I'm sure this doesn't answer your question completely, but maybe it will help.