They can be. A longer phrase is better and a phrase that makes sense only to you, but is not common, is best.
A real nice way to go is to use a password storage product such as 1Password. The concept is that you just need to remember one password to open a local encrypted system which contains all the other passwords you need for all the various sites you visit (Amazon, Facebook, your bank, etc). The application generates and stores random passwords that definitely won't be in any password tables.
The advantage is that you then use different passwords for each site and each of those passwords is very secure. This avoids the problem of people using the same password on all their sites. When they do that, a hacker gaining access to one site can then get into all their sites.
I use a stem password and then add something site specific, for example **********ebay. Easy enough to remember.
And using that service assumes you have an internet connection, right? ...