Interrupts help if an event needs to be dealt with over the time period of a few processor clock cycles. Such as the deployment of air bags. If the accumulated delay of not responding in a few processor clock cycles adds up to considerable error. Such as a Real Time Clock (RTC). Or, if an event is so short that it might be missed during periodic polling (checking). Such as counting flashes of lighting during a storm.
If this type of response time is not needed, interrupts may be more trouble than they are worth.
This is because interrupts can stop the processor from executing the normal program and force it to execute the interrupt program. This can be very confusing to new programmers. At any moment an interrupt may stop their program and possibly erase or change what that program was working on. Both the program that is running and the interrupt program need to be written to tolerate this processor behavior.
It is almost always easier to "poll" the state of obstacle sensors (in this case) rather than tying its state to an "interrupt". Using the Arduino paradigm, the purposes of the loop() entry point is to do just this. A function which will be called over and over again. Each time it is called you can "poll" the sensor and cause the model car to vier around an obstacle.