What are the criteria that one has to consider while chosing the number of roots in a CASSCF calculation?
The term "roots" refers to the number of "electronic states". If you are only interested in the ground state, then you are seeking 1 root. If you want the ground state and the first 4 excited states, then your number of roots is 5. Basically the only factor that I consider when choosing the number of roots, is the computational cost (the calculation will take longer and need more computational resources if you want a lot of roots).
When I searched "roots casscf" on Google, the first 4 results from software package documentation were from (in order of appearance):
"Additional roots have to be included for excited state calculations. Then the number of roots (which corresponds to the number of states) is assigned by the nroots keyword (see State-averaging section below)."
"Calculations on excited states of molecular systems may be requested using the NRoot option. Note that a value of 1 specifies the ground state, not the first excited state (in contrast to usage with the CIS or TD keywords). State-averaged CASSCF calculations may be performed using the StateAverage and NRoot options to specify the states to be used."
Molcas 5 (this page, hosted by the lead author of Psi4, contains a lot useful examples and detailed explanations about choosing the number of roots!):
"we expect to compute six A$_1$ states and therefore we include six roots in the CASSCF state-average input. "
Molcas 8 (official current documentation, this page also contains examples and some explanations about how to work with roots)
"Keyword [CiRoot= 5 5 1] informs the program that we want to compute a total of five states, the ground state and the lowest four excited states at the CASSCF level and that all of them should have the same weight in the average procedure."