1Password is an amazing app (also available on Windows) which stores complex passwords for all your accounts under one main master password, allowing you to create virtually unbreakable passwords for every single one of your accounts.
And if a website's secure database is breached (a common occurence of late), you won't care anymore. 1Password generates unique passwords, which means a third-party obtaining your Twitter password doesn't put any other one of your accounts at risk.
Since you don't want to open 1Password every time you need to use a password to sign in to a service, it comes with extensions for all major browsers that not only automatically fill the sign in form of any website for you (after prompting you for your master password), but also allows you to generate and save new credentials while remaining in your favorite browser.
Yet this is a chicken/egg conundrum. I store my 1Password database on Dropbox to sync it with the iPhone & iPad versions of the app, which means I can only access my database after having installed Dropbox.
So either make sure you know you Dropbox password by heart, or have another way to remember, like 1Password for iPhone. So you don't get stuck like this guy.