SPFILE allows the retention of parameter changes made while the database is still up. Before SPFILE any changes made via alter system were not retained after a shutdown of database. Now you can specify changes to be made to memory and or spfile. Example :
alter system set sort_area_size = 10485760 scope=both ;
This will change parameter in running database and update spfile so that after restart parameter is saved. In old versions if you forgot to update pfile chages were lost.