Im thinking since hes a decent player, hes got you trapped with a set of 9's, with his turn raise.
As buggy as Hollywood software is, and I'm assuming
Pokerroom is similar.. I'm usually hesitant to assign reads to hesitation here.
After his turn call, I'm thinking hes got something, and that something probably has you beat, but he doesnt know it.
You definatly checked for value on the river. You are only getting called here by hands that beat you, and hes not going fold enough times to make it a +EV bluff bet (thats what it is, IMHO), so checking has the highest EV for the river,