It seems like there are a few big problems with record/playback style GUI automation:
there is a big upfront cost to identify all of the controls
there is a big maintenance cost to update all the control mappings when the app changes
there is a lot of variability about the state of the application and the operating system [...]