Surprised no one has mentioned OpLop for passwords. I keep a list of sites (containing a site nickname and a password hint). I then wrote a simple md5base64 perl script which combines the nickname and password (similar to OpLop..basically md5(nickname+pass)). Script throws the result on to my clipboard, and I hit paste. Thus, no two sites use the same password. If one site is compromised (ex: zappos.com), I just need to change that one password. Script is on my phone, desktop, and cloud drive.
I use multiple passwords, a different one based off the importance of the site. I was amazed at how many sites impose a 12 character limit (Fidelity...really?).