Example: Host1 has R2 as the default gateway, but is trying to reach network 192.168.1.0. If Host1 forward his packets \ data to R2, R2 will not be able to route the traffic because it is not connected to that network of 192.168.1.0. This would make Host1 unable to communicate with that network.
This is where ICMP redirect is useful, R1 and R2 do not have to be connected for this to work. R2 can configure a ICMP redirect when it received a packet with a destination IP of 192.168.1.0 and reply to that request with the IP of a different default gateway R1 in this case. The host will then forward that packet again on to R1 and then it will be able to reach it destination.