For me, a lot of my side projects are either the result of realizing a tool I'd like to use doesn't currently exist, or something I get excited about while throwing ideas around with friends. The latter typically leads to silly web games or programmatic jokes more often than actually useful things, but I enjoy the creativity that comes with that even if it's unlikely to go anywhere.
I'd rather build for the short-term and if something gains traction, start thinking more long-term, but I'm sure there's other people who really enjoy planning out large projects and implementing them.
The first 80% of the work is the fun part, and sometimes I have to pressure myself to do the last 20%.