Crashes, engine failures, penalty of any kind, SC, red flag, etc aren't random, but a consequence of some other event (overpushing driver, low reliability, heavy rain, ect)
And that is what we should have. Make the use of extra speed, especially on worn tyres or adverse conditions, carry a level of risk. At present there is simply not enough of that in iGP. It's too 'gamey' at the moment and if you seriously want an experience that reflects, in any way, the thrills of motorsports you need the spills as well. Not randomly but in accordance with the laws of physics as applicable to the sport. Anything less is a disservice to motor racing and merely just another silly racing videogame.
There is just one law of physic in racing. A lack of space at the start of the race.
All other crashes are accidents which are based on human or technical failure and would need a penalty system, which is impossible to implement. Just renember the Vettel Hamilton incident in Canada, some poeple still argue that the penalty was fair while other say it was a race accident. Whats absolutely clear, is that vettel pushed too hard. How do you want to solve such issues with code?
Without a penalty and nothing to lose there are way too many players destroying other players races, like kevin explained above. And would lead to a lot of anger. Spinning off the track without crashing is another story, but is somehow already implemented, when a driver is doing a mistake, you can observe that often especially at the start