Yep, it's always a tricky situation.
I'd be somewhat annoyed too if someone could just reset my password and lock me out of my account.
Even if the new password was sent by mail to a previously registered email address, that can easily be intercepted by the network admin at your ISP / office / internet cafe, who could then beat you to it and chamge the registered email address of your account.
I have seen systems which ask you to identify yourself by keying in details of
- previous orders
- address lines
- birth dates
- last 4 numbers of credit card
I have seen systems that "close the loop" by asking you to confirm by contacting you via
- sending a mail to a registered email address
- sending an SMS to a registered mobile number
- snailmailing something to a physical address
Based on the above, I have seen systems which will
- retreive your password (getting rarer now)
- assign a new one to you
- invite you to set a new one
None of the above systems are foolproof.
Mails, SMS and snailmail cna all be hijacked.
As webusers - the message is clear - Don't forget your password!
As web creators - the message is somewhat less clear - do the best you can to protect your users from identity theft.