InnoDB vs. MyISAM

I notice that when I create tables in Navicat, sometimes it creates a MyISAM table instead of an InnoDB table. What are the advantages of each and which is best to use?

I have always understood (but am open to learn otherwise) InnoDB utilises locks via row locking, myisam via table locking. the practical result is that MyIsam is best for “mostly read” sites, innodb for mostly write.