Personally, I think it's a way of checking candidate sincerity and willingness to learn/change & develop.
It's easy to point to things that are ur strengths but weaknesses imply areas that u have to work on. You have to be able to explain that there are issues that you are conscious of (preferably not serious issues) and that you are developing yourself on them and they can even be turned to strengths that will benefit organizations that want to employ you......u just have to 'sell it' right.
If the 'tell us your major weakness' question comes up in an interview, try not to say perfectionist...everybody says that. Find something about yourself that's not that bad and can actually be turned to a strength in an organization. For example you could say that you are naturally goal oriented and wants to meet your original targets so u tend to push ideas for longer than necessary...that's actually a good thing in disguise. U can then mention that you are currently working on yourself to be able to make realistic assesments of the tasks you undertake and adjust your goals accordingly....irrespectively of how deeply you have involved yourself in them.