This is the unfortunate truth. I'd say that MLB needs both of those options in some form and that the two things are intertwined. I think the owners need to realize that MLB as a whole is the product, not individual teams, and for that reason it's important for all 30 teams to have the ability to compete on a more-or-less equal footing. The problem is that an equitable system of accomplishing that would be very complex.
To me, a team that has good success at player acquisition and development should have the ability to retain its top-flight players at a salary that is fair to the players. That, of course, would require a larger payroll, and if the profit sharing/salary cap system prevents a team from doing so that seems unfair. And on the other end of the spectrum, a system that provides the same financial wherewithal to a low-payroll team as it does to a high-payroll team could result in the ownership of a low-payroll team just pocketing the money. That would seem to incentivize assembling a bad team. So does that mean that the system should take a team's performance into account? Should there be a salary floor, and if so how would that be made fair in the case of a rebuilding team with a dozen rookies on the roster?
I wish I had the answer.