Removing a file is just a keystroke away. During the good old days on the command line it was a "rm name" and the file was gone. I had once the case that a system could not boot. After a while talking to the responsible admin he regretted that he "cleaned up" the / filesystem and removed unnecessary files like [ and a couple of other in /bin. It is now the case that /bin/[ is the same as /bin/test and this command is heavily used in scripts at the boot time of a UNIX system. No wonder that the system could not boot .
As this was not uncommon Oracle implemented some points against this. The members in a redo log group are "mirrored" copies just to prevent that these files are accidentally deleted. The same with the control-files. In Linux ASMlib and ASM Filter Driver prevent IO from other processes than oracle.
But if the case happens that a database file is gone? Restore all datafiles of the complete database?
Although this would be possible the time to provide this activity can be protective long. Better to have a backup that can be accessed in single datafile components.
Sounds like an easy task, but what if physical copies are used for Data Protection? Now there is a Filesystem and probably a Volume Manager between the backup and the file. And there is some kind of partition layout existing, which is different between the systems and OS as well.
So a good restore program needs to be able to provide a file level access as well.