Not every password leak is the same. The hash function used by the application and the application's password policy should dictate what tools you use to break the hashes. A good resource on this topic is
Look Back on 2012′s Famous Password Hash Leaks – Wordlist, Analysis and New Cracking Techniques. In short, they where able to break the majority of password hashes using a blended approach.
If the application isn't salting passwords, or the salt is very small then a Rainbow Table is the tool of choice. Rainbow Tables are precomputed and freely available. This is the fastest method of exhausting a key-space (especially if you have a raid 0 array!). For these reasons a rainbow table is usually the first method of cracking if one can be used.
John the Ripper is able to work with wordlists and generate "leet speak" mutations on words. If a password is just a dictionary word or leet speak of a word, then John the Ripper can crack this hash. Unlike rainbow tables, John the Ripper can work accept the salt as an argument, which does not impede cracking.
If the application is using key stretching with bcrypt or pbkdf2, then an FPGA and GPU is almost worthless. In the 2012 leaked hash analysis, GPU's where able to crack about 48% of passwords, this is mainly because bcrypt and pbkdf2 are not commonly used.
... but in practice quantity isn't everything. I completely disagree with Jeff Atwood on this "low hanging fruit" approach. The account that is the most valuable is the administrative account, often there is only a single password hash that the attacker wants to break and they will do whatever they can to break this hash. As a penetration tester, breaking an administrative password hash is a great finding in a report and an excellent link in a chained attack.