Another source of "inspiration" for bits of software to develop (or just have an explore of how the technology works) is those "Why does it not cope with that?" or "It should work with that!" moments. I've had a few of those moments with things like code generation from XSD's.
Another source are those "There must be a more elegant way to do that!" moments. Simple little things like the C# "if(x is typea) do_a else if(x is type_b) bo_b else ....". Start me thinking about better ways to do things.
Another source, which some have mentioned before, is the "Could I write a system to do that?" moment (or the rhetorical question). I know programmers who have tinkered with an ISAM system for year, tweaking here and there just because the like playing with it. No idea of even finishing the project, just playing with different ideas and implementations.