I think its basic common sense. Getting a partner can be seen (rather cynically) as marketing yourself. Once they are hooked, then sell them your bad points. Or why not work on your bad points so that they don't affect things? Nobody is perfect, don't expect yourself to be.
I agree with you that honesty is a virtue, but that doesn't necessarily mean you should share absolutely everything the first time you meet someone.
Relationships really are an awesome way to grow and experience life and I absolutely agree with this statement. Wait till you're in a relationship then you'll begin to discover more likeness in the other person, especially the negative ones, then we'll do an introspection and realise that there are just so much we need to change in order to be a better person, for ourselves and for the ones we love.
Our partners can be the best mirrors in our lives!