I think though is that programming is a tool. You don't need to have side projects to say "oh I have a problem and I think I can quickly hack together a program to address it." And then do it. That's no different really than a chef coming home making himself a sandwich.
Side projects are overrated. Chances are if you have a side project you have a reason for doing it. Maybe there is an open source project that almost meets your needs but is missing that one thing you need.
But I agree that one needs hobbies that are not programming. For example, I study history, play with the kids, do a bunch of other things. I think HeinLein was right, that specialization is for insects and often domain knowledge is as important as programming knowledge. If all you ever do is program, you aren't building the domain knowledge skills you need as well.