I'd prefer a collegue who says "I can do A and B, but I don't know how to do C", and I can be sure, that (s)he'll actually do A and B, while trying to solve C, than have someone who's capable of A, B and C, promises (s)he'll do it, but then doesn't.
I've been in the situation where the I'm the one who ends up doing C for them after they try and make a mess. It's not fun to work with incompetent people, however nice they are, if you lead the project and have to show results to stakeholders.
It's extra work that you do under the radar, in addition to your own work.
A lot of people coast by at work, so for them it's fine when their coworkers are not good, because someone else will deal with it. It's more of a problem when you're the one taking up the work on your shoulders