I agree with everything said above.
First a couple of questions....
Is this a new boat to you, or is this the first that you are having trouble?
Is this boat used in salt water?
The cable that you have is a Mariner cable. That indicates that the shifter that you are using is most likely a Mercury shifter. So, that boat may have had a Mercury on it at some time or it could have been rigged originally with the Mercury shift (possibly Commander 3000)
That arrangement is conducive to having shifting problems.
That being said...if it has been ok up to this point, you can disconnect the shift cable at the engine and manually shift it by pushing the shift linkage (toward the bow for forward and to the rear for reverse). Be sure to turn the propeller by hand at the same time so that the clutch dog and gears do not get jammed together in the wrong spot.
That vintage 90 will need a little force to shift by hand. Pay attention to the play in mechanism #12
http://www.boats.net/parts/search/Honda/Outboard Engine/1998/BF90AW LRTA/SHIFT SHAFT/parts.html
That tends to get rear worn over time.
If you are in salt water, it is possible that #'s 4 and 8 (shift shaft A and B), could be getting hard to pivot. The only way to tell for sure is to remove the lower unit and then operate the upper part by hand. If that is the problem, then you have to remove the powerhead to get to them.
One important part of shifting on this vintage is also proper adjustment.Shift arm #5 should always return to the detent with moving from forward or reverse to neutral. Initial adjustment should be with all in neutral and the arm in the detent, then turn the small brass fitting (on the end of the shift cable) one turn away from the small locknut on the cable. With the system being that old, you may have to play with it a lot, putting it into forward and bringing it back to neutral and doing the same in reverse. It should always return to the detent. So you will have to turn the brass piece back and forth until you get a good result. Doing so, you are making up for any excess play that there may be in the shifter, cable, or linkages.
Also, make sure that you are shifting when the motor is at its lowest idle rpm. Idle in neutral should be 950 plus/minus 50 rpm.
By the way....in case you did not know....the lower unit is a Mercury lower unit.
Mike