Books are great for learnin', and should be read. Beyond that, practice and experience are where it's at.
I started by throwing a bunch of stuff together and seeing what came out in the end. No rhyme or reason. I got a couple drinkable beers, but nothing special.
Then I decided I needed to really understand what I was putting in my beer and how it was going to affect the overall taste/nose/body of the finished product. I made a very simple recipe - EdWort's Haus Pale Ale. I then started changing one ingredient at a time, taking notes on how the flavor of the beer changed with each ingredient. I'm still in the learning process as I haven't yet tried out all the grains I'm interested in, but I am confident that every beer I brew will be outstanding because I'm making small changes to the past beer.
I'll eventually get through all the styles I'm interested in by following this process. It starts with pale ales - 2-row, some malty grain (Vienna), a little light crystal and a single flavor of hops. As the crystal gets darker and more malty grains are added it becomes an Amber style. I'm still working on different combinations of pale ale and amber ale ingredients at this point. As I add darker grains I'll end up with porters and stouts.
It's very fun and educational and I hardly ever get a stinker this way.
I do throw in recipes that are not part of this process because I want another style on hand. Not surprisingly, these are not my best. I still don't have a stout recipe worth a crap.