I did a part-time Ph.D between 2004 and 2009. I had a plan for what I was going to research, but in the end ALL FIVE chapters of my dissertation ended up being work that started out as side-projects. Along the way, I got to name two new dinosaurs (and revise one of the best-known old ones).
So needless to say, I am a big fan of side-projects. My experience is that I attack them with an enthusiasm that's rarely present when I am doing scheduled work. Often the momentum that that gives can get them to the point where they have enough substance to be wrestled over the finishing line relatively easily.
(Of course that experience won't translate directly to the kind of work you living from.)
It was really just one side project for me, but my story is similar. I started out planning on doing parallel/distributed supercomputing, but in the middle of my 2nd year I was diagnosed with type 1 diabetes and spent several months learning to deal with that. During that period I couldn't focus on any "real work", so I allowed myself to get distracted by writing freebsd-update... and by writing bsdiff so that freebsd-update would use less bandwidth.
By the time I started by 3rd year, the fallout from bsdiff -- a new algorithm from matching with mismatches and applications to file synchronization -- was enough that I went to my supervisor and said "so, err, I got a bit side tracked, but I'm wondering if I've just done a thesis worth of research".
So needless to say, I am a big fan of side-projects. My experience is that I attack them with an enthusiasm that's rarely present when I am doing scheduled work. Often the momentum that that gives can get them to the point where they have enough substance to be wrestled over the finishing line relatively easily.
(Of course that experience won't translate directly to the kind of work you living from.)
Details of my dissertation here if anyone's interested: http://www.miketaylor.org.uk/dino/pubs/#diss