I think I like it as played.
We've played this hand pretty straightforward and represented either top pair or an overpair. We've bet every street so far like we've got something solid but we're afraid of the draws - if we had a set, I think we might've tried something sneakier on at least one street to get some more value or played like we're slightly less afraid of the draws.
With that in mind, say we do what he did and lead for $8 on the river: villain probably isn't going to just call that unless he can beat top pair / an overpair, and he may well just give up and fold.
He could shove too, but that'll only be for just over $8 more in a $38.70 pot for us to call. While we're beat a lot of the time by sets / two pairs / made draws, are we really going to fold there for villain's final eight bucks? He only has to be bluffing
or semibluffing about what, 20% of the time for us to at least break even? I'd hate it, but I'd probably have to call.
If we check with the intention of calling a reasonable bet, however, we're getting pot control (in a roundabout kind of way) and we're likely in much better shape against the villain's range too. He should be bluffing with missed draws / pair and a missed draw a lot of the time, hoping that we're scared by the nine and folding our high pair. And if he checks behind I'm much happier with a free showdown than I am the scenario above where we bet and face either a fold or a shove.
So yeah - I like the hand as played a lot more than I like bet/folding.