MyISAM and InnoDB ARE the defacto storage engines.
The criticism above concerning these two ("does not offer a single table type ("storage engine") offering all features") seems to me a bit non-sensical:
Both have different strengths and were developped with a different goal in mind. You have a choice there and can optimize your DB by choosing a storage engine on a per table basis. That's a nice feature, not a bug.
MyISAM is very fast and fit for anything were you do mostly (or better ONLY) reads from the table, so if that is what you need: you'll get impressive speed. As everything in life, this speed comes at a price: MyISAM lacks support for transactions among other things (see this wikipedia article) making it a bad choice for anything that needs to be extra-secure.
InnoDB on the other hand has all the relational niceties that you would normally expect, but speedwise it's just 'normal'.
As for the other points: these are a few and there are more, but mySQL is doing ok, I guess...
Bjom