It's early days for us, so I can't speak from years of experience, but so far there are marked differences for us:
1. We have a lot more customers. Before one or two of our web designer clients could hold us ransom over a big cheque - the sort of thing we needed to make payroll. Now we'd need a mass exodus of customers for the same to happen, and usually that would be because we screwed something up (i.e. it's fair).
2. Customers now have clearer expectations. Web design customers can expect all sort of things which they consider reasonable, and don't understand why they're not (e.g. supporting a website 5 years after you built it, changing their business fundamentally mid project, expecting 'as many designs as it takes' to get right etc). I know you can and should educate your customers, but essentially you're dissatisfying them. With products, generally people pay a fixed amount to use a thing for a time. If it doesn't work, we refund them. Simpler and happier all round.
I totally agree with your last point - if you can scale it pays better. So far, the jury is out on that one for us, but let's see where it goes...
However, if an agency has a lot of customers, each with only a percent or less of total revenue, then its a much more stable platform. You can decline representation of certain clients and they do not effect the total revenue.
Of course, a product line might be better. All customers under one pricing model, customization is limited, and it scales easier. Good stuff.
So even with 200 customers our income came mostly down to a handful of customers each month.
Here's the difference: Replacing a customer is easier than replacing a client. If you build widget X, but then your customer decides they want Y instead, all you have to do is find one other customer in the world that wants X and you sell to them instead. Whereas in a consulting relationship you tend to have to throw X away and build Y, because hey, you're under contract and the client must be appeased.
(In theory you can write a contract stating that if you build X for a client and they refuse delivery you can repurpose X and sell it to a different client. In practice... consultant-built work product and an actual product are different in so many annoying little ways - assumptions about client's specific workflow and IP baked in, for example -- that this is never as easy as you think, and rarely easy enough to be worthwhile.)
Firing a customer is also easier than firing a client. They buy in little discrete chunks. Just apologize that your product no longer meets their needs and they won't buy the upgrade, or they'll cancel their subscription. In the absolute worst case you'll issue a refund. But compared to the soap-operatic stress-filled lawyeriffic delights of contract negotiation such events are almost a delight.
With a good design you should be able to customize without losing the integrity of the product, but if you didn't design with that in mind you have a problem. Customer requirements may also go beyond what even a good, decoupled design is capable of. You can therefore end up in the same situation as the consultancies, only with lots of customized, hard to upgrade or refactor versions of your product.
With a service, how much you earned is directly linked and therefore constrained by effort your able to apply. Ultimately limited to the number of hours in a day.
Alternatively, when developing and selling a product, the amount of money you can make is more limited by how good (and how well marketed) the product is than it is the effort you are able to put into developing the product.
My view is that you can make living providing s service, sometimes even a good living. You can make a fortune selling products.
Not sure how I see the difference between this and the phrase you get by substituting "Customers". It's all well and good deciding to be entrepreneurial, but if the shmoes with the $$ don't play along, it's not going to be fun. You're going to have to compromise your ideals to sell product.
To me, a better way of describing the shift from consulting to product development is that you can sell the same development effort multiple times when it's a product. Thus, no matter how well the consultants work, there's an upper limit on their income.