I think most of the time though, someone who appears incompetent is suffering from one of three things.
1) They are being tasked with things that simply don't align with their talents. For example, there are certain tasks which are just very mathy. You can pass college calculus and still suck pretty bad at lots of math. This is a case where someone else should be doing this task.
2) They are being tasked with problems which are out of their present ability to breakdown and solve. Essentially, they haven't learned to be an engineer.
3) They have a skills gap (as mentioned in the article they need to get better with a specific tool).
I think the thing that happens by far the most with people who get managed out is that they are a #2 but people try to help them as if they are a #3.
I have been in a situation many times where I have seen other leads giving tasks to their junior engineers and then getting frustrated when their subordinates don't make progress. They try to help by pointing them to tutorials, docs, etc. but what these people often need is someone to sit with them for a significant amount of time and demonstrate how one breaks a problem down, builds small pieces that demonstrate functionality and then put those pieces together into a solution.
This is expensive because it takes time. And it takes time from some of the most skilled people on the team. As often as I have seen people fail a team, I've seen teams fail people. A Pluralsight subscription is not a substitute for mentorship. Talking about networking and career planning is not mentorship (yes I believe it is important too).