I’m a big advocate of “personal” development projects done “just for fun” by developers in their spare time. I think the technical skills gained by embarking on these projects are obvious - you get to choose technologies your current job might not be using because they’re not fully baked (alpha/ctp/beta versions of stuff), or isn’t in line with their current direction (rich client if you’re a web person from 9-5 etc.), try things out and explore.
Another advantage that is probably not considered so often is the project management skills you can gain from working on a fun project. I’m a firm believer in the “golden triangle” of project management - where time, resources and features