TestComplete is used by all of the Quality assurance department in my company (we have several QA teams, one for each product line). We use TestComplete for regression tests and in continuous integration process to test interfaces of our products.
TestComplete Editor for script needs some functionality like highlight mapping object from script, possibility to begin a run from a line in script, etc.
Some basics functionalities that have existed for many years in editors like notepad++, eclipse, etc. don't exist in TestComplete.
Debug is hard to use.
Sometimes automatic mapping of object during recording is bad (for example, for a web application, idStr is not taken as criteria because there is only one object of this type in the page). I prefer doing mapping to control it before recording.
Edition of a same shared project by 2 users is too hard. I gave up because we lost some TestComplete code too many times.
TestComplete can be blocked by a child process of Application under test, and it's hard to find it, and mainly impossible to stop run without killing TestComplete.
Confirmation of object disparition is hard to code. Most of the time, it slows the scenario.