ROW_NUMBER always gives distinct numbers, so it breaks ties by whatever the ORDER BY leaves undecided. RANK gives tied rows the same rank and then skips; DENSE_RANK gives the same rank and doesn't skip. Only one matches 'ties share a place'.
SELECT name, ROW_NUMBER() OVER ( ORDER BY score DESC, name ) AS place FROM entries ORDER BY place;
SELECT name, RANK() OVER ( ORDER BY score DESC ) AS place FROM entries ORDER BY name;
Ana and Ben tied at 90 but the standings put Ben in second — ROW_NUMBER invented an order the scores don't have.
Pick the function by intent: RANK or DENSE_RANK when ties should share a place, ROW_NUMBER only when you truly want an arbitrary single winner per group.
DENSE_RANK() OVER (ORDER BY score DESC)