If the tween is already at A, there is no point in going from B to A using PlayReverse(), because there will be a visual "jump" where tween gets to the end then plays back to the start. If I was to change it to jump to the end, then the button hover animation would effectively break as well.
Think hovering over a button, then halfway through that hover animation, moving the mouse away. With the reset to factor of 1, there will now be an obvious jump to the final state before tweening back to the start. This is not ideal. What should happen is the current position of the tween should be used as the starting point, and only the direction should be reversed, making the transition seamless and invisible. So the end result would be going from A tween halfway to B, then back to A, rather than A tween halfway to B, jump to B, then tween to A.
Bottom line is if you want this jump, then you should request it by setting factor to 1. In most cases you won't want to, which is why it's the default behaviour.