I can't believe this is so difficult for some people to understand. The algorithm favors the applicant in the sense that if I'm applying for IM and am ranked #1 at program A and #10 at program B, if I personally rank B>A on my rank list I will still match into program B (even though A ranked me higher). In this way the system favored my rank list.
Now, if I'm ranked #1 at A and #80 at B, and I rank B>A I will likely not match into B because they ranked me so low. So B goes out the window and the algorithm moves to the next spot on my list (A). Since A ranked me highly I will match there (and I won't be screwed out of a spot there since I didn't rank them as my #1, as some people suggest)
This is all the same as applying to medical school. You don't get to choose which schools accept you, but of the ones that accept you you can choose which you want to attend. Similarly, you can't choose which programs rank you highly, but of the programs that rank you highly you can choose which one you would like to match at.