SharePoint does not provide transaction (rollback and commit) support on List data operations. What are the workarounds to achieve transactional behavior. 

Use case 1:
When an item is added in a List I want to update another List item. But if the update fails I want to rollback the item added to the first list.

Use case 2:
Updating 10 List items programatically. If 10th update fails, I want to rollback previous 9 updates.

Although SharePoint List are not relational database and should not be as a relational database, developers are increasingly using it for storing business critical data (which needs data integrity) and they are discouraged to use External List because it poses lots of restrictions on the features available on normal Lists.