Ultimately if the parties decide to litigate the case, it is the court that will determine fault. An insurance company can accept liability. But that is an settlement agreement, NOT a legal determination of fault.
Actually no, not quite. It can get complicated, so not going to go far down that rabbit hole. The insurance company makes a liability decision. Honestly, it's rarely liability that's the cause of a file going to litigation. It's the value...i.e. the plaintiff lawyer wants more money. When suit is filed, liability is often not even discussed as it's agreed to between the parties prior to litigation. If it's not agreed, the courts don't want to get involved in liability all that much. Reality is that 99% of the time, when suit is filed, the case settles long before it ever reaches an actual courtroom. Very, very few claims make it to an actual trial. When they do, if liability is still in dispute, it can be left in the hands of a jury of peers to make a decision. It's not a judge who decides, it's a jury. That's a "wild card" that neither side, especially insurance companies, want to mess with if they can avoid it, simply because a jury of peers often has very little understanding of liability principles.
So yes, on that extremely rare case that gets into a courtroom (usually only really bad ones, like fatalities), the court...i.e. a jury of peers, not a judge...can decide liability. But in 99.99% of cases, it's the insurance company.
For claims where injury isn't involved, but insurance companies are arguing over who's at fault, then it goes to what's called intercompany arbitration. Those arbitrators who hear the cases are insurance professionals. The decisions they make are legally binding. I'm one.