Even if you could perfectly measure customer happiness (very hard, as you note) - it's relatively easy to make customers happy by giving them more value than what they pay for. Sure, that may cost your business more money than what it makes with said customers, but hey, who cares, "profit" was not the metric...
(and as you note, if you make "profit" the metric, that has its own set of challenges - e.g. the optimization towards short-term profit in detriment of the long-term sanity, which is what we observe in a lot of corporations).