While true in a simplistic sense, this is generally not true when you have a society / economy as complex as ours.
Partly this is due to perceived value vs "actual value", and to me a business is only moral (obviously businesses can't really be moral, so what I'm really saying is "the only businesses that should exist") if you actually believe that what you are delivering to the other party is more valuable than what you are costing them, so that it is actually a win-win. Generally this is hard to measure, but I can provide some examples of when this is pretty clearly not the case.
1. Get rich quick schemes. Things like online courses that tell you how to make boatloads of cash by doing X. Except they don't actually work, so the value to the purchaser is effectively $0, while what they paid for it is certainly not.
2. A larger scale example: the collapse of the housing market in 2008. This is a better example of effects from the complexity I mentioned earlier. A significant part of the crash can be attributed to CDOs/MBSes. Long story short, banks were doing some repackaging shenanigans to make something that was shit look less shit. Any honest accounting will realize that this provided zero real value. Yet the bank's were getting rich off it. That certainly sounds like capturing (>0) more value than you are delivering (0) to me.
That is the kind of behavior I'm talking about.
Now, there are absolutely cases where there is unethical profit, but (under my worldview, at least) those are all cases where the state gives a company a special advantage, or literally gives it money. So, the following is unethical:
- bailouts of corporations ("corporate welfare")
- government providing an exclusive monopoly to a given company
- government de-facto forcing someone to buy a product due to coercion
The following is not unethical:
- making a product, offering it freely for whatever price people are willing to pay