title: What is use of creating many executable file formats?
body: <p>I am learning operating system concepts. I have managed to create a boot loader myself.
  Every executable file I generated was in BIN.</p>
  
  <p>I saw Microsoft used PE file format for its system. Similarly Unix used COFF.</p>
  
  <p>What is the use of these multiple file formats? Do they have any file protection or additional features compared to the other?</p>