commit and w(a) are not same
w(a) means saving data somewhere(hard disk or local buffer) but if system fails that data is loss, but commit means saving as well as making an entry in log record of database and replicating value in all servers throughout network so just in case there is failure in any of servers it copy will exist. also unless commit if performed there is no guarantee that ACID property will be maintained.
In simple word commits means changes performed are permanent and W(a) means change is temporary.
Example
Suppose there is only one transaction, you want to someone Rs 100 form your bank account, money has been deducted from your account, and successfully reached to person account, but if this transaction is not committed both you and another person won't see any change in your account. as soon as transaction is successfully committed both will have new updated balance in account