Default
This is the default because it is the one that gives the most performance (but soon the next version is no longer, and it is curious because for most scenarios people who care less and use MySQL InnoDB is not the most appropriate). MyISAM is simpler, but mostly because it's what most people are looking for when using MySQL, that's what made MySQL famous. It's preferred because in most of the simple applications where it's used, table relationship is not as important. Or it even is, but it may very well be done by the application. There are those who like or need this control to be done in the database, but not everyone, of any project.
When to use
If you need performance and simplicity, choose MyISAM. If you need the most accurate controls, choose InnoDB. In general you do not have to opt for it if you do not need it, and do not know how to use it. And most small projects do not need these features. Some more "malicious" will say that if you need InnoDB, then it is better to opt for another more complete database, which does more for you. It remains true that InnoDB leaves a bit to be desired for some other SGDBs. Some even say that MySQL is only a valid choice if you use MyISAM. Of course, others disagree.
In general, when you have a lot of reading and poor typing, MyISAM usually works out better. InnoDB can have advantages if the amount of truly competing writing is too large. What is more rare.
InnoDB can not be faster because it does more things than MyISAM. Unless MyISAM is poorly implemented, it has to be faster. It does not have as much scalability as it is different from not having performance. People sometimes confuse these things. A purely flat file database would be the fastest of all at least for certain operations.
Relationship
You can relate tables with MyISAM. You just do not do this in the model definition. There is no way to force the relationship to happen automatically, but do this in your queries normally, without losing anything. When the logic is more in the application than in the database it is common to prefer not to force the relationship and let JOIN
in the query handle this. Everything has advantages and disadvantages but this is another matter.
Tradeoffs
There are even simpler and probably faster database systems. For each problem, a solution. Everything is choices. You can not do magic and have it all. Although MariaDB tried to reconcile these things a bit more with the engine Aria ( give it to use with MySQL).
Comparative
*
Therearecontroversies(I'veseenmanyreportsthatgiveproblems)
**
Itdependsalotontheactualload
***
Manyconsiderthistobeirrelevant
Youhavea Wikipedia comparison .