Like you said, scraping is against ToS so as soon as you get caught, you're cut off until you shell out $$$$ to buy a feed. I suspect the reason they've succeeded here is that they've stuck with a human-based approach.
Both the traversal/retrieval and data-interpretation parts seem to have interesting aspects when you consider current website design. Some websites make themselves hard even for humans to read (consider why safari reader mode exists).
This seems like a potentially valuable service, in the sense of being a schlep. I wonder how many places have home-grown scraping efforts as part of their business and how annoying it is for them to maintain.
Skyscanner scrape to keep their partner's honest (which has always sounded pretty hostile to me but I guess they're approaching a pretty user hostile marketplace) and with their market share they're able to force their partners to comply with reasonable demands.
So why would it be hard to make scraping undetectable, anyway, unless you do it particularly incompetently? In theory, it seems pretty easy: use a browser string that matches an existing popular browser, and make sure to not load anything faster than a human would.
This is obviously helped recently by the relatively new headless modes for Chrome & Firefox, but before that it was using buggy headless implementations or Selenium. These weren't well suited to operations at scale.