Breaking assumption #3: Steady State Consumption and Production
The model as I've described it so far is a steady state model, where each producer has fixed efficiencies and fixed requirements.
However, if the supply and/or demand change due to circumstances, this can mean that the comparative advantage of a hybrid character could change over time as well.
This assumption needs to be broken in conjunction with the assumption of free entry and exit to the market. If players can enter and exit freely between predictable changes in circumstances, they can always adapt the group as a whole to the new circumstances by swapping in different specialists. However, if there are no changes in the demands made on the party, then there is no need ever to change the party balance.
One common method to change up requirements is to have fights that consist of multiple phases or waves. For example, consider a boss fight where players are attacked by multiple waves of enemies.
One wave could consist of a single enemy that did lots of damage, requiring a single tank and multiple healers to keep the tank alive, while the second wave consists of multiple enemies to be tanked separately, and the third could do damage that cannot be healed until after the enemies are dead. By varying up the requirements between waves, we create a niche for characters which can change their production.
The primary challenge in breaking this assumption is to break it pervasively throughout the game design. It's not enough to add a single fight that requires extreme numbers of tanks (such as the Four Horsemen fight from Naxxaramus in World of Warcraft), because that puts enough strain on groups of players to hurt without creating an ongoing need for more tanks. It becomes simpler for the players to solve the immediate problem ("Find an extra tank for tonight") than to make a permanent adaptation ("We need to make a hybrid tank/DPS character part of our regular team").
Breaking assumption #4: Continuous production
Hitting a perfectly specialized balance of producers and consumers requires there to be smoothly adjustable levels of each. Production within a party is a step function, because the party always consists of a whole number of characters. As the size of the party increases, the relative size of the change of adding one more character becomes smaller.
If you have one healer in the group, adding a second healer increases the total healing production by 100%. If you have 100 healers in the group, adding one more healer increases the group's healing by only 1%. The larger a group of players, the closer the group can approach an ideal distribution of production using only full specialists.
Because hybrids are by definition weaker in any given role, adding a hybrid to a group provides a fractional increase in each of their areas of production. The smaller the group of players, the more useful those smaller increases are in hitting an optimal balance within a given number of players. If you have a three-person party and you need an equal number of tanks and healers, then adding a healer/tank hybrid character who is 80% of a tank and 80% of a healer makes sense.
Most MMOs have a maximum size for a party of characters in the single digits. (Five for World of Warcraft, six for EverQuest, eight for City of Heroes/Villains, etc.) This is small enough usually to make the addition of a single player a significant change in the party balance.
However, most MMOs also have larger "raid" missions where groups of twenty, forty, or even more players all cooperate to achieve a major goal. In these larger fights, it's possible to create the required party balance using only specialists, squeezing hybrids out of the mix. In general, smaller groups create a more stepped production function which creates more niches for hybrids.
Breaking assumption #5: Free trade
Another assumption in this model is that all parties can trade freely with all parties, without any tariffs or other trade barriers. The ideal solution for maximum productivity assumes that everyone specializes where they have a naturally occurring comparative advantage, but adding in things like tariffs to make foreign imports more expensive can shift the balance points. These trade barriers represent a sacrifice of pure efficiency in order to achieve other goals, such as maintaining a certain minimum of domestic food production.
In a game context, this means that not every commodity produced by a character can be cleanly transferred to any other character. For example, a given type of healer might be better at healing some classes than others, creating a need for multiple types of healers in order to cover all their teammates.
A sample fight mechanic that would represent a trade barrier would be a battle that requires the players to split into two groups that stand too far apart for mutual support. It doesn't matter how efficient it is to have a single highly specialized healer if their output can only reach half the party. At this point, a hybrid DPS/healer who can step up to cover the second group for a short time becomes an asset.
Another example of this principle is those fights that involve all players present getting hit with some damage. In this case, every player has to produce their own "tankness" in order to survive the initial hit, even if other players can heal them afterwards.
Instead of maximizing just their own healing or DPS ability, they have to split their production to provide some level of damage avoidance/absorption as well. This keeps players from over-specializing into pure "glass cannons", who can do massive damage but die when an enemy breathes on them. One existing example of a fight which breaks this assumption is the Leotheras the Blind fight from WoW, where every player must be able to defeat a weak enemy without help from their teammates.