I use 1Password (for OS X and iPhone), which lets me generate random passwords for different sites. It can't auto-fill on the iPhone, so you have to go into the app and write it down somewhere (or remember it) temporarily. It's got syncing and stuff too. http://agilewebsolutions.com/products/1Password
I have a question - is there a password manager out there thats made it possible to access passwords from a computer that isn't yours? I'm guessing not, because of the obvious security issues.
Because I'm not always in front of my laptop, or desktop and don't have an iphone I use a system similar to what is here - different passwords for different sites, with a system that helps me remember them.
Thanks! I like the USB drive idea (maybe on a keychain) in conjunction with keepass (I'll need to look more closely at keepass - I skimmed over it a while ago). Also I like the supergenpass suggestion below - less to carry, and as long as I have the bookmarklet on a browser, and my master password, easily accessible. More to think about! :)