Prediction and attribution are really hard. I linked a paper below showing that eBay was wasting money on entirely ineffective keyword ads. I can’t imagine that most small businesses (especially brick and mortar ones) are much savvier.
Whether something provides a return or not for your specific situation doesn't have anything to do with whether the product itself is working and valid.
Ebay situation is different because search is as close as you can get to "intent" in advertising. You don't need user-targeting when you have a search query telling you exactly what they're looking for. Targeting is a proxy for that kind of intent when it's not available.
What I'm not yet convinced of is that they're a panacea for all small businesses. Details aside, one moral of the eBay paper is that a $50B business, with a whole dedicated department, still managed to make a dog's breakfast of their online advertising; Uber reported similar problems earlier this winter.
It seems hard and it's not obvious to me that every business has the aptitude, market, or business model to do it well. At the same time, I can easily imagine people deciding "We need to do something about advertising" and then forging ahead with whatever something they land on. This is especially true with the ROI is difficult to calculate--and I do think it's probably harder to calculate for an ad than for something with very standardized cost/performance characteristics like new equipment.
Google, Facebook, and Shopify making money doesn't really answer this question. As an analogy: "Is there gold in them there hills?" "Sure, even the guy selling shovels is making money!"
Advertising can be complicated, but part of the value of these giant networks is helping to run those campaigns effectively. I'm not sure why you think everyone has to put in similar amounts of effort. That's not necessary at all. You have tools from simply setting the budget and targeting lookalikes of people liking your posts (what most small businesses do) to running your own bidder stack (for larger brands that have entire agencies working for them).
While attribution will never be perfect, it's not guessing either. Ecommerce only makes it easier as you can track all the way from exposure to checkout, and in some ways can be more attributable than other businesses expenses.