> What is your greatest weakness?
> I am too good at my work
What interviewers are looking for is genuine introspection of the kind a high-quality hire would be expected to have. One answer I've given before, for example, is that I instinctively focus too deeply on technical requirements; I have to regularly prompt myself to answer "why does the customer care", or I get too deep into the details and end up with solutions that fail to serve their needs. The fact that I can recognize this weakness and take action to mitigate it is a positive signal.
What interviewers are looking to avoid is terrible answers that reveal underlying flaws or show you can't introspect at all. "I don't have any weaknesses", "I have trouble dealing with dumb people who give me bad ideas", "I get frustrated when people come to me with problems but don't explain what program I should write to solve them", etc.
Lame, humble-bragging answers are not the intent of the question and will not impress the interviewer, but probably won't prevent you from being hired if the interview otherwise went great. So maybe they're useful strategically if you're worried about giving a bad answer.