I have encountered this problem during an interview with one famous company, the question is:
Why MyISAM storage engine does not support row level locking as InnoDB storage engine
As far as I know the main difference is that InnoDB has clustered index whereas MyISAM does not have.
I found from some blog saying that the reason why is:
Since MyISAM only has secondary index, in other words, the data and index are stored separately, it is will hurt the performance when lock the data and secondary index at the same time.
I cannot concur with this hint as I think some InnoDB table also has secondary index.
MyISAM is an read optimized storage engine, non-MVCC, crash unsafe, storage engine that shouldn't be written to.
Having row locking is excessive to these purposes.