Most lead gen in roofing treats every job the same. You get a name, a number, and "needs roofing work." Could be a $800 gutter clean. Could be a full re-roof. You don't know until you've driven out, climbed the ladder, and spent an hour quoting a job that was never worth your time in the first place.
Then there's the sharing. The same homeowner's details get sold to three or four roofers in the area. By the time you call, they've already spoken to two competitors and they're just collecting quotes to make someone else's price feel reasonable. You're not the roofer they chose. You're one of five they got assigned.
That's not lead generation. That's a lottery with bad odds and no control over what comes through the door.