This is happening in other industries, too. Google have recently launched a Hotels API where hotels, B&Bs, vacation rentals, etc can upload their prices and other data to Google, and Google will decide when to show that info to the user. So searching for "hotels in New York" will now be fronted by a giant Google widget that will capture your traffic and not a list of hotel websites.
What's wrong with that? Hotels make money from people booking, not being on their website. If this helps people find what they're looking for and convert into a stay, that's great.
The user doesn't see their website. The content is loaded to google, google gets advert traffic, etc. etc. as well as the stuff outlined in the article. That's what is wrong with it.
There are thousands of hotels in New York. Nobody is going through thousands of links, unique websites, retyping the same dates and details into different forms. They’re going to the same top website that paid the most for SEO. The user doesn’t want to see their website. The user wants to see all the relevant details of all the options that match their criteria so they can hand over their cash to the best one, not the one that has put the most money into building a website. That is what modern search is. That is what Google is doing.