Most of my projects are educational in nature and have little practical use. The primary goal is to aid my studies and verify my understanding of the subjects.
I have spent an entire semester mastering the tricks to recognize and solve differential equations. I have also spent an entire semester learning about linear systems and Fourier Transforms. But in practice nobody solves differential equations by hand and hence the tricks are useless; in real applications you almost never get signals that are sampled at fixed intervals (DFT does not apply because real samples are often obtained at irregular intervals. Then there is clock jitter).
It is difficult to notice the limitation of the stuff taught in school until I actually attempt to use it. Courses rarely address the limits of its teaching, so the only way to be certain that I have truly understood something is to try to use it to solve practical problems. It is then that I realize why, for example, they spent so much time drilling those math tricks in us (merely for writing exams), or that none of those transforms I spent a whole semester applies to analyzing the barometric pressure data I collected (DFT applies only for data sampled at fixed interval). I would have distributed my time and effort differently had I known this then.
Like many teenagers I began by putting together several digital clocks, each progressively more compact. The first one was the size of a large shoe box, built using dozens of 4000-series logic chips and a box full of loose wires. The final one was built using a single microcontroller on a custom PCB. One of them went on to permanent display in my high school (along with a few robots I built), while another is still running on my wall seven years after it was built (though not without a little upgrade).
Embedded system development was something I picked up before there was such thing as "Instructable" and "Arduino". Having the means to monitor and react to the physical world is both cool and useful. Through them I get to experiment with ideas in fields such as automation, communication protocol design and software engineering.