I favor parsimonious prerequisites, with no prerequisites preferred over some, and general prerequisites preferred over very specific ones.
These are the questions I ask about prerequisites when designing abilities, in order of priority.
1) Does this ability mechanically rely on some non-general mechanic? If so, first consider whether I can do the same thing at least as well with a more general mechanic. If I cannot, then access to that mechanic is a prerequisite.
2) Is this ability appropriate at all levels of play? If so, first consider if I can make the ability scale across all or multiple levels of play. If I cannot, then I need to add a prerequisite that is widely available (to those that meet the first prerequisite, if applicable) and appropriate to the minimum acceptable level of play.
I treat it as axiomatic that an imaginative gamer can and will find a decent flavor justification for almost any ability. Therefore, prerequisites due to flavor should be strictly decoupled from those due to mechanics: "kitchen sink mechanics" do not and should not require "kitchen sink settings". Thus, any such restrictions should be enforced by the GM and the setting, and I feel this rule should be explicitly stated. Nevertheless, as a GM tool it is a scalpel, not a bludgeon. I'm a fan of thoughtful exclusion, i.e. "saying no", to any ability without at least one flavor justification appropriate to the genre or setting. If it forces the player and GM to get a little more invested in the idea of a character, all the better. Regardless of the answer, the basic balance of the game is no better or worse than it was before, which cannot be said for flavor restrictions that only serve as a gateway to powerful mechanics. For games with many mechanics baked in the same oven as the flavor, such that you can't really play except in that setting, this is a lesser concern.
In my opinion neither flavor nor mechanics should be thought of as preceding the other in game design, they are both subject to considerable feedback loops. My only rule for myself, in this regard, is that for anything I design I can find at least one example of flavor that fits its mechanics before I officially consider it as part of the rules. This isn't strictly necessary, but often enough in my design experience it has made the difference between an OK mechanic and a great one.
Both 3.5 and 4e violate my guidelines fairly frequently. I think 3.5 tends to do it more spectacularly, since it had many more feat trees which could be ruined with a single poor decision, or single feats with an absolutely wallbanger prerequisite. The bloat in 4e is almost as bad, though. Generally speaking, I much prefer a well-designed feat tree to a glut of single feats, many of which do or nearly overlap anyway.