It's easier to run to your potential on closed roads and with peers of similar pace. It cuts the mental battle and adds little challenges like overtaking Red Vest in front of you, and no waiting around for traffic. It opens up routes that may not be safe in standard conditions, so can add variety. For longer distances, some towns can be quite limited on safe long distance route options.
An event gives you something to train for. It puts a medium term goal in place. Long term, I run for health and fitness for the coming decades, but that's too distant a goal to overcome niggly hurdles like uncomfortable weather, niggles, feeling under the weather, whereas knowing you've got an event in a month or two helps focus you in the immediate future.
I don't tend to run for charity, but if I did fundraising, I'm far more likely to have success buy setting up an ambitious target at an event than just pootling around my normal runs (particularly as I've done numerous HMs and a marathon)
Above all I love the community spirit of events. I rarely go to running events without chatting to someone at some point. It may be a random stranger. It might be people I know from the local community, particularly parkrun. I love that strangers will cheer you on. As a child when running meant boring, painful laps around the school field while the PE teacher insulted your efforts, it was nonetheless an exciting day hearing the cones plopping down the road, the traffic quietening, the neighbours emerging and for a few hours a year the streets were reclaimed by people not vehicles. I loved cheering the runners on, looking for people I knew and spotting cool costumes. Even as a hardcore non-runner I'd idly think one day maybe... that one day did turn into reality and I was so proud of myself. I wouldn't have achieved that pootling around my neighbourhood on my own, and it certainly wouldn't have occurred to me to run 10k and HM in my first year of running without events to aspire to.