Consider the following topology:
Internet -- S |
Using RIP, S announces (0.0.0.0/0, 0), and both A and B announce (0.0.0.0/0, 1).
Suppose now that router S fails. Suppose further that you're unlucky, and that A and B both switch their next hops to each other -- they create a routing loop.
- with plain Bellman-Ford, A and B have no way to get rid of the loop in a timely manner — they need to count to infinity;
- with split horizon, A and B immediately stop announcing the default route to each other — they get rid of the loop as soon as the route times out;
- with poison reverse, A and B announce an infinite metric default route to each other, which gets rid of the routing loop as soon as an update is successfully transmitted.
Note that poison reverse has a drawback — it increases the size of updates, sometimes dramatically so (especially from stub routers). Note further that poison reverse only gets rid of loops of size two — in order to get rid of larger loops in a timely manner, you need a feasibility condition, as in EIGRP or Babel.