Rainbow tables are not useful because a password list would require O(N) space to store the passwords. Since rainbow tables use O(N^(2/3)) space and O(N^(2/3)) time. Making a rainbow table from a password list word require O(N) + O(N^(2/3)) space which is just O(N) space and O(N^(2/3)) time. There is a better method that would use O(N) space and O(1) time.
Although you can make dictionary rainbow tables but those require password mangling rules (like add 3 digits to the end of all passwords). This way you have just a few words (10s or 100s of thousands) that get expanded to trillions or quadrillions of passwords. There's DRcrack