The problem is with how it is often taught and demonstrated in many TMAs.
It's super common in many arts to present demonstrations where the attacker commits to a linear attack and then stands frozen in place like a doofus (often with the punch extended) while the defender moves off-line and executes all sort of counter-attacks from the superior angle. This is arguably justifiable in the very beginning as an illustrative tool so new students can see what's going on.
I agree with this statement... But I will add that it is a problem with how we train with these drills.
I have been able to make these drills effective in my own training.... but you have to dig a little deeper. Most people get happy, because the attack missed me, I scored my attack and it looked pretty..... Then we stop, considering the job done and the skill acquired.
As pointed out before, if you move too soon, the attacker tracks you and you get hit anyway. If you move too late, you get hit. The trick is in the timing. Ideally, you want to wait until the attacker is sure he is going to hit you, so that he commits to the punch... and then you move, once the attacker is past the point of no return.
This is a very small moment in time. Some people may naturally see it and be able to use it.... I am not one of those people.
The drill of having the overly telegraphed attacker (sensei announced to the whole class what attack will be coming and when) throw the punch, on a straight line can work if you use it "correctly." The first bit is to learn the mechanics of getting off the line and into the position where I have the angle to counter.
Once that is learned, now the training and study starts. At first, I try to see how close I can allow the punch to get, before I move. The closer I allow the punch, the quicker and more efficient my movement needs to be. While it is hard to measure my movement speed and efficiency... I can much more easily measure how close did I let the punch get, before I moved. The trick is to never be happy, but always be pushing to let it get closer in.
This means I get to see the attack coming, and get used to seeing it and being in the right position. I can now start studying the attacker. As mentioned above, you need to see how his body is moving, where the momentum is going.... It also allows me to start to recognize when the attacker has gone beyond that point where he can no longer redirect.
Because the attack is so big and long, it makes it easier for people like me to analyze and see what is happening and when. I just cannot fall into the trap of "I got offline, he missed, I countered and it looked good." I am always pushing myself, to let the punch get closer, and to try to wait until they cannot redirect. Many times I will ask my training partner to hit me and to track me. This means.... I get hit a lot (just being honest)... but it also allows me to see when I get it right, (he committed and could not redirect) verses when I moved to soon.
One of the things I like to do, is to try to catch the punch in my gi. If I let the punch come close enough, then turn fast enough and at the right time, their punch should slip inside the lapels my gi top... (loosen up your gi top, so it flairs out a bit when you turn) On a good day, I can sometimes do this.... Most of the time, I am on the receiving end of a glancing blow.... which I prefer to the straight shot landing flush.
In the end, this has made my techniques become more efficient, my timing better and my ability to roll with punches better. It has also helped me to get comfortable with people punching me... I know I can make them miss, I can make them glance and I have taken the shots.... thus there is nothing to be afraid of.... I have felt this before and can stand in and practice what I need to do. (don't forget, many people really have to work to not panic when someone throws a punch intended to hit them.... they are not all battle tested masters of martial arts like we are....)
In the end, its how you use the drill and what you take away from it. If you goal is to make it look pretty in a demo.... that is one thing. If your goal is to make it effective with someone actually trying to hit you.... you have to work the drill to the point that they are hitting you... even to the point where the drill is forgotten and you are sparring.