InnoDB works slightly different that MyISAM and they both are viable options.
You should use what you think it fits the project.
Some keypoints will be:
- InnoDB does ACID-compliant transaction. http://en.wikipedia.org/wiki/ACID
- InnoDB does Referential Integrity (foreign key relations) http://www.w3resource.com/sql/joins/joining-tables-through-referential-integrity.php
MyIsam does full text search, InnoDB doesn't
- I have been told InnoDB is faster on executing writes but slower than MyISAM doing reads (I cannot back this up and could not find any article that analyses this, I do however have the guy that told me this in high regard), feel free to ignore this point or do your own research.
- Default configuration does not work very well for InnoDB needs to be tweaked accordingly, run a tool like http://mysqltuner.pl/mysqltuner.pl to help you.
Notes:
- In my opinion the second point is probably the one were InnoDB has a huge advantage over MyISAM.
Full text search not working with InnoDB is a bit of a pain, You can mix different storage engines but be careful when doing so.
Notes2:
- I am reading this book "High performance MySQL", the author says "InnoDB loads data and creates indexes slower than MyISAM", this could also be a very important factor when deciding what to use.