For a multi-core computation environment, mutliple threads work on a shared memory space. Often have to deploy RMW where programmers use lock, mutex etc. For large number of parallel threads it becomes very hard for SW writers to keep track of locks. Its even harder to debug any concurrency issue that could result in deadlocks.
TM offers an atomic RMW operation without explicit need of lock for programmer.