One big motivation for me to work on side projects is that (since I don't expect them to be really successful or anything,) I don't have to be pedantically pragmatic about the choices I make. What I mean is that I get to do things the 'right' way, not the fastest-to-ship way.
I get to write code in _my_ way, not in the way that business requires it to be.
Doing it the right way _does_not_ mean that it will not involve hacks or clever techniques etc. It just means that I get more time and space to think about the choices I make and I get to model my data-structures, code and the visual design in the best way possible (for my definition of best).
I like the fact that I can look at the same piece of code for a few days and refactor it like crazy.
I have found that this eventually helps me in my day job too.