This is a good question and I would say three major reasons.
First, for Google ads, the company who's willing to spend the most will get the most. And without a large enough budget, Google ads will rarely show your company to your ideal clients.
Second, cost and lead time. If the ads and creatives are solid, then the cost per lead is much lower than Google ads. And the coolest thing is that the leads are instant, meaning you don't have to wait for SEO to get you in Google's ranking or anything else.
Third, you know that we people can put things off last minute, and that's normal human behavior. However, when running Facebook and Instagram ads, your company is in front of the customer before they go to Google for a new roof. And it is our job to give those ideal clients your service.