I agree with Toprank Roofer with an exception
As the roofing industry in your area grows and becomes more competitive your business will begin to get flushed out if you don't have a quality online presence. I've worked with roofers who have received word of mouth business for years then over time talk around town dries up. Then there suddenly left with a marketing emergency.
Building a website is great because over time you build authority to it and turn it into a lead generating machine. I've even talked to roofers who couldn't handle the amount of inbound leads they were getting from Google so they sold them to their competitors. If you can start generating that type of additional income stream your business becomes two dimensional. I've seen this done primarily two ways:
1. High-quality informative service pages
2. High-quality value added blog
Yes, it's an investment to get a high-quality website set up with built out home, service, about-us, contact-us pages. After the initial set up cost, keeping a site up and running is cheap.
I actually wrote a blog post on the importance of a high quality website....check it out
https://newpulsedigital.com/importance-quality-website/
Ultimately, if you're trying to keep your business up and running for good without the worry of where your next referral is coming from, i'd suggest getting a website.
Also, you don't need an agency to build it for you. Websites like Fiverr and Upwork have freelance website designers which can built you one optimized for the search engines for under $1000. Just be clear about what you want and show examples of websites that look good to you!
Hope this helps!