I’ll admit that I’m probably a little biased when it comes to which D&D version is the best. Almost all of my playing and running has been in 3.5 or the common mix of 3.5 and Pathfinder because the 3.5 set of rules is expansive. An expansive set of rules means it is relatively easy to find rules for something that can be nudged to fit what you want to add. Additionally, the patterns created by the existing rules make it easy to extrapolate how the system should apply to something without rules or how to change existing rules without breaking the game. As a DM who loves to tell a good story, these two things make 3.5 easily the most appealing rule set out there.
While I do all of my high-level planning and preparation ahead of time, there is a lot of small stuff that comes up during sessions I can never be prepared for. Particular shopkeepers, NPCs the players want to talk to, city layouts, the state of the black market, and so many other things my players will randomly and inconsistently want to know. In addition to that sort of thing, no amount of preparation is going to prepare me for what I need to have prepared when the players decide to take a path I hadn’t foreseen or do something that requires rules that either do not exist or that need to be modified so they’ve actually got a fair chance to fail or succeed.
For instance, I like to give my players options when they spectacularly fail certain types of rolls. A common house rule is that a string of critical fails on attack rolls can instantly kill the player’s character. I like the idea of this house rule, but a lot of players will get upset if they accidentally kill themselves like this because it feels just so stupid and random. If they died because of a choice they made, at least they feel like they earned it. So, instead of just killing them outright, I give them the choice of taking the death or taking something entirely random that could possibly be worse but would allow them a chance to survive. This way, they feel like they still have control of their character and, should they die as a result of the something else.
The only problem is that I have to make up whatever is about to happen without any preparation. A new monster, some interesting application of the rules, or even an entirely new encounter or dungeon. All of this stuff is the sort of thing I typically prepare beforehand because making it up is difficult. Without the expansive 3.5 rule set and all of the online resources people have created for the 3.5 rule set, it would be impossible. Since I know how the basic rules are applied across the entire system and can find a bunch of different templates, abilities, and creature types, I can find a way to meld all of it together into whatever new creature or situation I want to introduce to my players.
This sort of new rule or new creature is called either “homebrew” or a “house rule.” Homebrew is anything made up by someone other than an official D&D source. A house rule is anything that a DM indicates is a rule that applies only to the particular campaign they’re running, though it may show up in multiple campaigns. Homebrew often involves house rules and most house rules are homebrew. A house rule that isn’t a homebrew rule is usually used to exclude something. For instance. I almost always ban the Tome of Battle because it creates these ridiculously over-powered characters. The only time I’ve used it was to create a tough fight for my players by giving a recurring character levels in a class from it and the one character nearly took out an entire group of six players of the same level. That’s too much power. Most of my house rules are exclusions, since a by-product of the expansive 3.5 rule set is stuff that is over-powered as a result of one-off campaign modules that introduce new rules and I have players who like to visit forums to find the best way to make their characters O-P.
My favorite house rule adds two homebrew systems to the game, called Individual Magic Effects and Character Legacies. The IME rule is taken directly from the webcomic that inspired it, giving characters a particular visual-only effect whenever they use magic or that affects the way their magic items work. Character legacies are a bit more complicated, but can give the player characters bonuses or penalties to their character depending on what the legacy means. Got a player obsessed with glory and hunting? He or She gains bonuses when they prove their prowess and bring back trophies, but gain penalties when their quarry bests them or they fail to find it at all. The bonuses and penalties can change depending on what the character hunts and how the player decides the character will act. An egotistical hunter might have charisma penalties for dealing with some people but a bigger bonus for dealing with most people while a more friendly hunter might have bonuses when it comes to bartering or doing hunt preparation.
Neither one of them has much impact on the game in the long-run since the bonuses for legacies are relatively small, compared to what magic items and feats can give players and IMEs are only visual effect (which only help or hinder in very specific situations). They just encourage my players to try to play their character more consistently and to stick to their role-playing when they might otherwise abandon it in favor of being more effective in a given situation. This is my favorite type of homebrew. Adding major rule changes or entire classes is hard to balance. If you ever want to see some ridiculous, over-powered stuff that puts the Tome of Battle to shame, you should check out some of the custom classes people have made and posted to places like the D&D Wiki.
Like a lot of storytelling, deciding how and when to modify the rules for an established game takes a lot of practice and it is easy to accidentally break something even if you’re very careful. If you keep to a guiding principle such as “everyone should be having fun,” then you should be fine. The rules don’t really matter if everyone is having a good time and feeling like they have power in the world.