I bet most of the time good hackers don't even need sophisticated software, just a good partial and a dash of mined social data.
If the person is dumb enough to put a password of his dog's name or his neighbors name, then he might deserve it.
Passwords should always be separate from your social info.
The first thing to consider is why finding a service which restores lost password. Why not make necessary measures in advance, so that passwords are never be forgoteen. Follow the good password guidelines and keep them secure. Always make a strong password with letters, digits, Caps etc etc.