I use Oplop to generate passwords - https://oplop.appspot.com/
Basically you put in a keyword in the top field - say singletrackworld, amazon, facebook - whatever you want to call the site you want to generate a password for. In the second box you use a master key.
Then click create password and it generates a string based on an MD5 Hash of 8 characters (as most websites will be happy with that).
Whilst the password is reasonably secure because the password is pretty random you can easily get a reminder by filling in the details again.
The idea being that you use a unique website name and the same master key to generate each password and only have to remember one long, difficult to guess password.
A tip in this respect - use symbols in place of some letters eg:
th1$ismyp@ssword4S1ngletr@ckworld (its not of course but you get the idea).
You can also use something like keepass to store all your passwords. Again - this is locked using a single but very secure password like the one above.