Game design requires a series of tradeoffs. Mini-games are fun, but if you put money and time into building them, you need to take away money from some other part of the game. Is the tradeoff worthwhile?
Making a game fun depends a lot on balancing such factors as:
The degree to which a player can affect the game, or at least seem to affect it
The ways in which a player can affect a game, or at least seem to affect it
The ways and the degree to which the game guides or otherwise affects the player
The ways the game delivers both expected and unexpected events and consequences to the player as a result of the player's decisions
The types and amount of choices or actions available to the player at any given moment
The type and amount of weapons, spells, defenses, and so on available to the player at any given moment
When the player is performing a mission or even a small step within a mission, the amount and types of choices available to the player as to how to accomplish that small step or the entire mission
The degree to which gameplay is repetitive, thus allowing a player to either continue practicing a skill or enjoy using a skill he or she has mastered versus the degree to which gameplay is new. (Of course, repetitive gameplay can be used in a new type of mission or in combination with other forms of gameplay, to balance out the familiar and the new.)
Getting these balances right is one big task; injecting emotion and meaning into the mix to enrich the experience is another.
The two aren't unrelated. For instance, the player will care much more about how he impacts the story if he cares about the NPCs and about what happens to them, about his own role and what happens to himself, and about the world of the game.