Basically, a transaction is one or more add, update, delete, modify changes to the database that must all be completed or none of the steps should be executed. Transactional databases are useful when data integrity is important. If one of the steps in the transaction fail, then the steps must be rolled back to the state where no change was made to the database.
An example of when you would need a transaction is when you make a banking transaction to move money from one account to another. The transaction consists of two actions.
1) Take money from account A
2) Put the money into account B.
If you fail to remove money from account A, then the transaction fails and no money is removed from account A and no money is placed in account B.
If you successfully remove money from account A, but fail to add money to account B, then the transaction fails and the transaction must be rolled back so that the money is not taken from account A.
Only if the money is removed from account A AND added to Account B does the transaction commit the changes to the database.
Here's a link to a code sample for using the SQLTransaction object to begin a transaction, commit it, and roll back on failure:
https://mcmap.net/q/542073/-how-to-use-sqltransaction-in-c
A non-transactional database would probably have better performance because it doesn't have to worry about rolling back changes. The individual data in the non-transactional database may not require transactional processing as would managing money between bank accounts.
Examples of possible non-transactional lists include:
Customer lists, Contact information, Supplier information, location lists, and parts lists.
Master Data Services was designed to support non-transactional data that you want to share with multiple applications.
For example, you might want to use a single master list of company member contact information and make it accessible to different applications. If you have lots of applications that need this same information, this is much better than trying to maintain a different contact list for each application.
Additional Sources:
https://en.wikipedia.org/wiki/Database_transaction
https://dba.stackexchange.com/questions/17246/diff-in-transactional-and-non-transactional-tables