why MyISAM uses 3 files per table? Why MyISAM uses 3 files per table?

I know one of the file contains table definition, another contains primary key and all other indexes, third the data.

What is unclear for me, what is the benefit to keep the data in 3 files, instead in one, or in many - every index in separate file like dbase.
As Phil already said 'It was a design decision'. This is the main difference between InnoDB Engine. Because InnoDB Engine is store all databases in one file. And each MyISAM table is stored on disk in three files (if it is not partitioned). The files have names that begin with the table name and have an extension to indicate the file type. MySQL uses a .frm file to store the definition of the table, but this file is not a part of the MyISAM engine; instead it is a part of the server.
The data file has a .MYD (MYData) extension. The index file has a .MYI (MYIndex) extension.

for your ref https://en.wikipedia.org/wiki/MyISAM

Even RolandoMySQLDBA and ypercube has well defined InnoDB Engine with respect to MyISAM engine Why does InnoDB store all databases in one file?