I suppose the answer to "when?" is a bit subjective in some ways.
However, there is no rule that will satisfy all cases; experience, judgement, wisdom. All of those come from doing it and deciding that it can be improved.
My normal rule however is the same as for classes or a method. Make them as small as possible. I would rather have e.g. 10 small projects in a solution, each of which was dedicated to a single pattern or function or subsystem or service, rather than one huge project that has too much messy dependencies.. That way each one can be upgraded, tested, replaced independetly of the others.
Dedicate a project to one part of the system. A UML diagram can help to make these decisions. Architcture and experience all help. Study other large systems and see how they broke out the data tier from the logic tier and so on.