Getting good game balance is hard. In order to get good balance, your mechanics need to be rooting in good math. Almost every game mechanic when you take it down to it's most base level is math, and by understanding that you can make different options mechanically balanced with one another.

Here's the problem, perfect balance is boring, if two sides are exactly equal there's no choice, no room for customization. In a perfectly balanced game(say checkers, or even chess), there is ALWAYS a best move, always a choice that is better than all others(even if the math involved may be quite difficult).

So pure mechanical choices are boring. Fun choices are intangibles, choices which cannot be mathematically compared to one another. Something lie, what's better, the ability to pick locks, or the ability add fire damage to an attack. There's no way to say which of those two is better because they are completely different. You *can* balance incomparable, but the math involved is very difficult, and it involves lots and lots of playtesting(hint hint, look at what WotC is doing now). So interesting choices make games take a long time if they are done well(see Starcraft II)

In 3.x, we had lots of great incomparable, but they were poorly balanced and rushed out the door, causing balance to suffer. 4e, had much better balance, but didn't really have interesting incomparables, every character felt pretty much the same, the math they used the build the system was overly clear.

So far 5e seems to be trying to find a better balance, and allow some of the problems to go away by making an airtight core system.