I don't really have much to add, other than to point out that the 90 degree rule only applies if the balls colliding are of equal weights. If you are playing with a light or heavy cueball, the angles will change. If the weight is very different you will see a significant difference in the cueball path.
It is common for the cueball in a very worn standard ball set to be light, and many bar cue balls are heavy which will change the tangent line or play "dead" which will have a similar effect as a heavy ball in some respects (but will not change tangent line rule as long as the weight is the same). If you have a set containing different balls (perhaps some have been replaced etc) they will have an effect as well. A heavy object ball will have the same effect as a light cueball, and the heavy object ball will have the opposite effect. If you are playing in a run-down place with shoddy balls, it's good to keep this in mind. If you can visibly see a difference between the balls, do a test to determine if the weights are different, otherwise you might get a nasty surprise on that critical drawshot on the hill...The worst part about it is that the 8-ball and the cueball are frequently the ones that are replaced (people tend to steal them). So in a 9 ball match your last shot to play position on the 9 may be from a light or heavy ball.