I really think that good DMing comes with an ability for the DM to understand the ins and outs of RPGs. Not only the setting and rules, but what it is to run a RPG and what purpose it actually serves for the people who are involved around the game table.
Once the DM gets a good grasp on what a RPG is and isn't, he can understand things like different playstyles, tastes and needs of the players he might encounter around the table.
All this, of course, is useless if the DM then doesn't have any listening skills. By "listening skills", I don't mean the ability to "listen" per se, but more an empathy for other people, understand what they say and do not say, what they are searching for out of a game session, what they want their characters to do and become through the game, what type of thrill they want, what cultural level they want to be entertained with, all these things and more.
Using his empathy skills and his understanding of the ins and outs of RPG, a DM now has the basis of some good DMing.
To further develop your skills as a DM, you then try to master all the aspects of the game. Not just the playstyle you like, not just the game you like, but all kinds of playstyles and games. You develop your skills like an athlete develops his own: by acknowledging your weaknesses, working at them, overcoming them and changing them into advantages.
As a caveat, this means the DM will want to develop all kinds of different aspects of culture and practical knowledge about the stuff RPGs are talking about. How you make a sword. How you treat a horse when you ride for a whole day. Byzantine architecture. What happened to Sumer. How to play Chess. Whatever. The point is not to become a history, game, mathematics, whatever-y buff who's picky, rephrases and second-guesses what the players say constantly (this would be in contradiction with the required understanding of the nature of RPGs I was talking about above), but to fuel your imagination and inspiration and be able to come up with neat adventures, NPCs, tactical challenges etc etc - these "details" that may make all a difference in the world between a decent and a great game.
The last thing I think about right now, is that a good DM is someone that is humble and yet confident. S/he doesn't boss people around, but knows when to put the foot down. He is not afraid to come up with original stuff for the players, but doesn't do it for just his own satisfaction and in such a way as to alienate the other players at the game table. That kind of thing.
I'm sure we could find lots more to say about the topic. I'll just stop here for now.