So the product wasn't built for their scale, it took a bunch of invasive changes, dirty hacks, and accepting client specific workflow initially. You can look at that and say "we're lockign ourselves into their workflow" and "we're making client specific features" - but this client literally 3x their revenue year one and increased it a couple times more for extra features developed. And once you have one big client and solve their problems - you can try to generalise and sell to their competition as well.
100%. If you cannot qualify a feature being important for the product and most/all customers you're chasing dollars. It's a common trap, driven by commission structures that incentivize a sale over anything else.
In the end, all of this boils down to money/market share.
Long answer - It’s very tough. It really is checkers vs chess and thinking 3 years ahead vs a quarter. Big client X wants to give us 100k now for quick thing but what will it take to babysit them going forward, also client X is a 1% of our revenue and everyone else is medium sized...I’m leaving out the 99% and making the product more bloated, etc. But can that feature be a enterprise level feature if your product is b2b enterprise sales.
When you say client it becomes consulting that happens to have a software project at that point. If your market needs feature x Like a mobile app because a competitor is going to crush you without it then it makes sense. Reacting to a market every now and then is understandable. However I think the horrible sales driven companies react to individual customers and that destroys your chances of any cohesive plan as each sales person hijacks your devs...which means at that point they are selling your devs time for their individual gain hurting company’s ability to make a large impact on the market. Shouldn’t happen but that’s sales driven.