How should I go about picking a functional for DFT calculations?
For Structures and Energies: Answer Hazy, Try Again Later
People can talk on this subject for literally days.
It mostly comes down to computational expense vs accuracy - if you have a larger system, you can't afford the fancier functionals. The absolute highest accuracy state of the art functional-wise would probably be those using the Random-Phase Approximation (e.g.), and also the use of more complex range separation techniques (such as the Coulomb-Attenuated Method mentioned below).
Having said that, a lot of people just use B3LYP for everything. B3LYP is parametrised for low-Z main-group chemistry, and so does reasonably well there. It's a hybrid functional (i.e. it includes the exact Hartree-Fock form exchange operator), so it's not the cheapest. I tend to use the series of PBE, PBE0, TPSS - their only parameters are physical constants, so they should never give surprisingly bad results.
A couple of basic guidelines, though (which should be taken as &quot;as far as I know&quot;s):

If you have a delocalised system, you want exact exchange (so, a hybrid functional like PBE0, B3LYP, M06-2X, etc). Without this, most functionals will over-delocalise the orbitals.
If you have a system in which dispersion forces are important, worry. Then use something like $\omega$B97X-D which includes empirical dispersion corrections. Some packages can also apply Grimme's empirical dispersion corrections to any functional.
If you have a periodic system, you probably want to use screened exchange rather than full exact exchange - something like HSE (which tails off the exact exchange past a certain range) rather than PBE0 should be faster while not significantly less accurate.

For TDDFT: Probably CAM-B3LYP
Fortunately, this is a bit easier.
Firstly, you want something that incorporates exact exchange (a hybrid functional), which quickly rules out many functionals. Pure GGAs and LDAs give qualitatively wrong answers for states involving charge transfer. Secondly, functionals that include long-range exchange corrections, such as CAM-B3LYP, also give better results.
Also, look out for triplet instabilities, which can be a problem with the introduction of HF exchange.
(David Tozer is my go-to author for TDDFT testing, though I would warn that despite the above answer, I've never used TDDFT in &quot;production&quot;.)
(Now, bring on the functional flamewar.)