I like that it offers internal methods for supported controls. It is very easy to code the tests. Object Spy is also a good feature.
The mapping is pretty complicated because there are a lot of controls that are the same and if you have a long name with the object mapping it is easy to get confused.
TestComplete is perfect if you have an automation ID or something unique to each controller. Unfortunately our developers said that it's very hard to maintain all the names and automation IDs. Maybe in the future with this mapping part would be better.