No, MyISAM just happen to be the standard, but they are missing features like Foreign Keys, the best way to let your database do the dirty work of keeping your data correct.
Transactions are just that, discrete transactions. The way they work is you start a transaction do your queries and then finish your transaction. What the database does is let you run multiple queries against there own copy of the database and doesn't commit them to the database until you tell it to. Using transactions you wont run into this problem, that you would using no transactions:
User one logs into your page and submits data.
User two logs into your page and submits data, a second later.
User ones first insert query runs.
User twos first insert query runs.
User ones Last_Insert_ID() query runs returning 2.
User twos Last_Insert_ID() query runs also returning 2.
User ones second insert query runs attaching that data to ID 2.
User twos second insert query runs attaching that data to ID 2, if not failing due to duplicate data.
When building a multi user database application you can and will have situations where multiple people are accessing the same part of the app at the same time. Without transactions the timing of these peoples actions could overlap like in the above scenario, and given enough time it will happen. If that does happen your data is now corrupt and it could take a very long time to figure out what happened and how to fix it.