ICMP redirect
I too fail to understand why ICMP redirect is ever used these days.
If you go back and read the old RFCs, you will see that the system of ICMP router advertisements and redirect was the first attempt at self-configuring hosts. On bootup, a host would broadcast a request for the best router for reaching a host and would get back (via router advertisement) a gateway address. It would cache this. If the network changes such that the best gateway has changed, then the original gateway would send a redirect message to inform the host, which changes its cache.
It made a lot of sense for a network where there are a lot of different gateway routers and no centralized server for distributing this information.
But the reality today, for most users, is that for any given site, there is exactly one preferred gateway router. Its address is either hard-coded or it is pushed into the host from a DHCP server. If it should change, the hard-coded host is expected to change its configuration and the DHCP host is expected to receive an update from the DHCP server. At no time does ICMP redirect even come into play.
In this day and age, I think it would be perfectly reasonable for all hosts to have ICMP redirection disabled by default. DHCP is more than sufficient for all but the most unusual networks.