A great player will make you close to indifferent to calling or folding in this spot with a hand like 99. On this particular river, enough semi-bluffing hands that your opponent might/should have from the turn have missed that he can credibly represent enough bluffs to also value bet thinly.
Perhaps more importantly though are general player tendencies for this buy in level and the reactions caused by the hidden information that you possess, i.e. you have two nines and your opponent is less likely to hold two nines. Put another way, your opponent is less likely to be semi-bluffing, given the information you have about your own hand and the effects on your opponent's distribution for betting the river. Both ideas require elaboration.
Regarding the general player tendencies for the spot and for the buy in limit, players simply are not value betting thinly for this sizing that often. For a pot sized bet, regardless of board run out, weaker players typically do not have hands like JT in this spot, even though the hand may be a value bet for a better player to make a hand like 99 or ace-high indifferent to calling on the river. In other words, because of the buy in level, your opponent's range is made up of incredibly strong hands and missed semi-bluffs from the turn, of which there are many (over cards, straight draws like 98, and 2 flush draws). Now, it's all about how often your opponent has the ability to make a disciplined check-fold, rather than attempt to bluff too often (for this sizing, at least) for how often he's value betting.
The hidden information that we possess discounts our opponent's bluffing distribution a bit. Those 98 missed semi-bluff gut shots from the turn are much less likely now that we hold two nines. However, there are so many other potential semi-bluffs that also have more equity on average when called on the turn that discounting a hand like 98 is not a large factor in determining the best river play with our hand. What is relevant is that our opponent's value range is not discounted at all. In an attempt to explain this idea succinctly, imagine that your opponent guesses your known river distribution and seeks to make you indifferent to calling or folding against his river bluffing strategy. Sometimes, you have ace-high or 99, and sometimes you have Tx as your most likely made hands. What that means is that sometimes your opponent has a profitable bluff against ace-high and a losing bluff against Tx to average to a bluffing strategy that makes you very close to indifferent to calling with a hand like 99, a hand that is right down the middle.
So if we're to understand our opponent's play as unknown or closer to optimal, then our best course of action is likely to call as 99 is markedly better than ace-high and some unimproved flush draws with which we may reach the river. 99 is high enough up in our distribution that it's a close call, unless we slow play all of our 6x hands, which we probably don't want to do on this draw heavy board texture as we can represent enough semi-bluffs by raising the flop that we should expect a better return by raising for value, at least some of the time. Of course, slow playing has it's merits, but taking one action all the time with the strongest portion of your hands makes life easy for your opponent. The reason that we want to call with 99 here, even if it's a slightly losing play, is to avoid offering an exploitable bluff for our opponent.
In counter, 99 is certainly on the fringe. It's intuitively on that line between calling and folding, and rightfully so if you run the numbers and consider the odds
that the pot is offering you (how largely your opponent bluffed). What we can likely assume is that because the hand is on the fringe and that most players at this buy in level do not bluff for this size and mostly value bet strong hands for this size, that close calls become close folds. This is a default exploitive strategy adapted to counter-act the average $100NL player's strategy of not bluffing often for a pot sized bet on the river in proportion to those strong value bets. We are relying on a population bet sizing tell of sorts to make a slightly better decision than we might than if we had absolutely no information on this player.