I learned a lot from message boards related to my car. Whenever I had a problem, I could search the archives or ask, and find 10+ other people who had the same problem and could tell me exactly what they did to fix it.
And trust me, when you have a 1988 Ford as your sole form of transportation, can't afford a mechanic, and need to get to school/work/etc, you learn a lot about how to diagnose and fix a car pretty quickly.
I learned a good bit from my dad too, but most of his knowledge comes from back when cars were carbureted, so I ended up teaching him quite a bit about what I learned when it comes to EFI, all the various sensors that the engine computer uses, etc.