Some cases are more complex or include more serious injuries, which usually takes longer.
Some cases require waiting longer to properly calculate the damages and possible compensation.
Some cases face delays from the court, the insurance company, or other persons involved.
Some cases require your lawyer to do more fighting on your behalf with the insurance company.
Your lawyer must take time to fully investigate your injuries and your prognosis (your expected recovery) to properly calculate your possible compensation. If you settle too early, you might receive much less than you otherwise should.
You can expect the average case to take between 2 to 4 years to resolve. If the case goes to trial, it can take even longer.